Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Holen Sie sich MAX aus einem GROUP BY

ACHTUNG:Die Abfrage verarbeitet keine doppelten Datensätze mit dem Maximum von COUNT

SELECT  commodity,  COUNT(commodity) `count` 
FROM    orders 
GROUP   BY commodity
ORDER   BY `count` DESC 
LIMIT   1

Aber das wird,

SELECT  commodity,  COUNT(commodity) `count` 
FROM    orders 
GROUP   BY commodity
HAVING  COUNT(commodity) =
(
    SELECT MAX(`COUNT`) 
    FROM
    (
        SELECT  COUNT(commodity) `count` 
        FROM    orders 
        GROUP   BY commodity
    )   s
)