あなたが達成しようとしていることは、として知られています。グループごとの最大値
、ORDER BY
を使用して達成することはできません 。代わりに、MAX()
を見つける必要があります 次に、結果をテーブルに結合します:
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
sqlfiddle でご覧ください 。