/ / WÄHLEN Sie den Kunden aus, der bei zwei Kunden die größte Anzahl an Produkten bestellt hat - mysql, sql

WÄHLEN Sie den Kunden aus, der bei zwei Kunden die größte Anzahl an Produkten bestellt hat - mysql, sql

Ich habe die folgende ORDERS-Tabelle

Bildbeschreibung hier eingeben

Ich kenne Abfrage, um den Kunden auszuwählen, der hatbestellte die größte Menge. Wie aber würde es funktionieren, wenn zwei Kunden die gleiche Menge haben. Welche Abfrage sollte ich schreiben, um beide Kunden zu zeigen?

Antworten:

1 für die Antwort № 1

Sie können eine Unterabfrage verwenden, die überprüft, ob die Menge für einen bestimmten Datensatz mit der größten in der Tabelle beobachteten Menge übereinstimmt:

SELECT *
FROM yourTable
WHERE qty = (SELECT MAX(qty) FROM yourTable)

Dadurch werden mehrere Datensätze zurückgegeben, wenn mehr als ein Kunde die maximale Menge teilt.

Wenn Sie nur einen einzigen Datensatz zurückbekommen möchten, selbst wenn Verbindungen bestehen, können Sie diesen Ansatz verwenden:

SELECT *
FROM yourTable
ORDER BY qty DESC
LIMIT 1

0 für die Antwort № 2

Ich denke, Sie wollen die Summe pro Kunde.

Wenn ja, können Sie versuchen wie:

select custNum,
sum(qty) as qty
from Orders
group by custNum
order by sum(qty) desc;

Geige hier:

http://sqlfiddle.com/#!9/47931b/10