sql >> Databasteknik >  >> RDS >> Mysql

Få MAX från en GROUP BY

VARNING:frågan kommer inte att hantera dubbletter av poster med det maximala COUNT

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

Men detta kommer,

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
)


  1. MySQL välj ett fält från tabellen WHERE-villkoret finns i flera rader

  2. välj alternativvärde från databasen på valt

  3. Hur man beräknar ålder (i år) baserat på födelsedatum och getDate()

  4. Hur man beställer efter månadsnamn i MySQL