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 .