在包含有關類別、日期和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中文網其他相關文章!