ホームページ > データベース > mysql チュートリアル > PostgreSQL Group By Query の最初の行を選択するにはどうすればよいですか?

PostgreSQL Group By Query の最初の行を選択するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-25 20:09:15
オリジナル
548 人が閲覧しました

How to Select the First Row in a PostgreSQL Group By Query?

PostgreSQLグループクエリの最初の行を選択パケットデータを処理する場合、通常、各グループの最初の行または最後の行などの特定の行を取得する必要があります。このチュートリアルは、PostgreSQLのグループクエリで最初の行を選択する方法に答えることを目的としています。 ソリューション:

で区別されます

postgreSQLは、分布と呼ばれる便利な機能を提供します。文法は次のとおりです。

特定の問題に適用

提供されている例では、最高の総額に基づいて、購入テーブルの各顧客の最初の行を取得したいと考えています。別のものを使用して以下を実装できます。

このクエリは、出力:
<code class="language-sql">SELECT DISTINCT ON (DISTINCT_COLUMNS) COLUMNS
FROM TABLE
ORDER BY GROUPING_COLUMN, SORT_ORDER;</code>
ログイン後にコピー
になります

説明

顧客列の結果に従い、異なる値を選択したいことを指定します。
<code class="language-sql">SELECT DISTINCT ON (customer)
       id, customer, total
FROM   purchases
ORDER  BY customer, total DESC, id;</code>
ログイン後にコピー

最初に顧客の並べ替え結果(グループ化用)に従い、次に合計注文(合計値が最も高い最初の行を見つけます)で並べ替え、最後にIDでソートして競合を解決します(ある場合)。

FIRST(id) customer FIRST(total)
1 Joe 5
2 Sally 3

追加の説明

    句は
  • 条項に含める必要がありますが、標準では追加のID列は必要ありません。 DISTINCT ON (customer)
  • 総列に空気値を含めることができる場合、
  • 句に追加する必要があります:ORDER BY customer, total DESC, id

結論

PostgreSQLの関数の異なる機能は、グループクエリで最初の行(または最後の行)を選択する効率的で柔軟な方法を提供します。この関数を使用することにより、開発者はグループデータを簡単に分析し、必要な情報を取得できます。

    以上がPostgreSQL Group By Query の最初の行を選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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