Wat u probeert te bereiken staat bekend als een maximaal groepsgewijs
, wat niet kan worden bereikt met ORDER BY
. In plaats daarvan moet men de MAX()
. vinden en voeg het resultaat vervolgens weer toe aan de tabel:
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
Bekijk het op sqlfiddle .