To, co próbujesz osiągnąć, jest znane jako Maksimum grupowe
, czego nie można osiągnąć za pomocą ORDER BY
. Zamiast tego należy znaleźć MAX()
a następnie dołącz wynik z powrotem do tabeli:
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
Zobacz go na sqlfiddle .