Ich habe eine folgende Tabelle, wo ich die maximalen Verbraucher eines Unternehmens finden muss. Ich habe eine Benutzer Tabelle und eine Firma Tabelle.Ein Benutzer kann viele Produkte von einem anderen Unternehmen verwenden und ein Unternehmen kann viele Benutzer als seine Verbraucher haben. user_id ist ein Fremdschlüssel in dieser Tabelle von Benutzer-Tabelle verwendet, und company_id ein foreign_key von Unternehmen TabelleGet Zeilen mit der gleichen Spalte Wert
TABLE consumers_company
Angenommen, wir haben die folgenden Daten verwendet: -
user_id | company_id
---------------------
6 | 1
6 | 2
7 | 5
8 | 8
8 | 1
8 | 8
Jetzt, wie wir sehen können, hat Firma 1 maximale Benutzer. Ich benutze diese Abfrage, um jene Firmen zu finden, die Benutzer mehr als 1 haben.
SELECT *
FROM consumers_company
WHERE company_id IN (
SELECT company_id
FROM consumers_company
GROUP BY company_id
HAVING COUNT(company_id) > 1)
Meine Leistung: -
user_id | company_id
--------------------
6 | 1
8 | 8
8 | 1
8 | 8
Erforderliche Leistung: -
user_id | company_id
--------------------
6 | 1
8 | 1
Ich bin ein Anfänger in MySQL.Please mir helfen.
Wie gelangen Sie logischerweise zu Ihrer gewünschten Ausgabe? – Drew
Sie haben keinen Primärschlüssel. Dies kann sich als problematisch erweisen. – Strawberry