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 |
追加の説明
DISTINCT ON (customer)
ORDER BY customer, total DESC, id
結論
PostgreSQLの関数の異なる機能は、グループクエリで最初の行(または最後の行)を選択する効率的で柔軟な方法を提供します。この関数を使用することにより、開発者はグループデータを簡単に分析し、必要な情報を取得できます。以上がPostgreSQL Group By Query の最初の行を選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。