Mysql
 sql >> Database >  >> RDS >> Mysql

Ordina i dati (ordina per) prima di raggruppare per in mysql

Quello che stai cercando di ottenere è noto come massimo per gruppo , che non può essere ottenuto utilizzando ORDER BY . Invece, devi trovare il MAX() e quindi unisci il risultato alla tabella:

SELECT prd_data.* FROM prd_data NATURAL JOIN (
  SELECT   sub_prd_id, MAX(created_at) created_at
  FROM     prd_data
  GROUP BY sub_prd_id
) t

Guardalo su sqlfiddle .