Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Classificar dados (ordenar por) antes de agrupar no mysql


O que você está tentando realizar é conhecido como máximo de grupo , que não pode ser alcançado usando ORDER BY . Em vez disso, deve-se encontrar o MAX() e, em seguida, junte o resultado de volta à tabela:
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

Veja em sqlfiddle .