ニュース投稿を含むテーブルがあり、すべてのカテゴリの最後に追加されたニュース投稿全体を取得したいと考えています。
表には次の列が含まれます。
- ID、タイトル、画像、説明、カテゴリ、日付
例: 3 つのカテゴリに 20 件の投稿があります。すべてのカテゴリの日付別の最後の投稿が返されるため、3 つの投稿が返されます。
グループごとの最大値が必要です:
SELECT newsposts.* FROM newsposts NATURAL JOIN (
SELECT category, MAX(date) AS date FROM newsposts GROUP BY category
) t
これに対する最小かつ最も使用可能なソリューションは次のとおりだと思います。
SELECT * FROM (
SELECT * FROM table ORDER BY date DESC
) as t
GROUP BY t.category;
他のアプローチは、サブクエリを持つグループになります...
@eggyal: これは、rdbms の内部ソート順のため、max_date で挿入された LASTEST を使用します...