/ / SELEZIONA il cliente che ha ordinato la maggior quantità di Prodotti nel caso di due clienti: mysql, sql

SELEZIONA il cliente che ha ordinato la maggior quantità di Prodotti nel caso di due clienti: mysql, sql

Ho la seguente tabella degli ORDINI

inserisci la descrizione dell'immagine qui

Conosco la query per selezionare il cliente che haordinato la quantità maggiore. Tuttavia, come funzionerebbe, se diciamo, due clienti hanno la stessa quantità. Quale query dovrei scrivere per mostrare entrambi i clienti?

risposte:

1 per risposta № 1

È possibile utilizzare una sottoquery che verifica che la quantità per un determinato record corrisponda alla quantità maggiore osservata nella tabella:

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

Ciò restituirà più record se ci sono più clienti che condividono la quantità massima.

Se si desidera ottenere solo un singolo record, anche in presenza di vincoli, è possibile utilizzare questo approccio:

SELECT *
FROM yourTable
ORDER BY qty DESC
LIMIT 1

0 per risposta № 2

Penso che tu voglia una somma di qty per custNum.

Se è così puoi provare a:

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

Fiddle qui:

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