カテゴリ、日付、ID に関するデータを含むテーブルを含むデータベースでは、各カテゴリの最新の日付を含む ID。次のサンプル データを考えてみましょう:
id category date 1 a 2013-01-01 2 b 2013-01-03 3 c 2013-01-02 4 a 2013-01-02 5 b 2013-01-02 6 c 2013-01-03 7 a 2013-01-03 8 b 2013-01-01 9 c 2013-01-01
各カテゴリの最大日付を持つ ID を選択するために、PostgreSQL には DISTINCT ON 句が用意されています。この句を使用すると、個別の値を選択しながら、指定した列に基づいて行をグループ化および比較できます。
SELECT DISTINCT ON (category) id -- , category, date -- any other column (expression) from the same row FROM tbl ORDER BY category, date DESC;
クエリは、カテゴリの昇順と日付の降順によって行の並べ替えを優先します。その結果、一意のカテゴリごとに、最大の日付を含む最後の行が返されます。
id category date 7 a 2013-01-03 2 b 2013-01-03 6 c 2013-01-03
以上がPostgreSQL で各カテゴリの最大日付 ID を見つける方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。