ホームページ > データベース > mysql チュートリアル > PostgreSQL で各カテゴリの最大日付 ID を見つける方法は?

PostgreSQL で各カテゴリの最大日付 ID を見つける方法は?

DDD
リリース: 2024-12-30 02:14:08
オリジナル
574 人が閲覧しました

How to Find the Maximum Date ID for Each Category in PostgreSQL?

PostgreSQL で各カテゴリの最大日付 ID を選択します

カテゴリ、日付、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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート