ホームページ > データベース > mysql チュートリアル > ROW_NUMBER() を使用して SQL で各グループの最初の行を選択する方法

ROW_NUMBER() を使用して SQL で各グループの最初の行を選択する方法

Susan Sarandon
リリース: 2025-01-22 06:13:14
オリジナル
603 人が閲覧しました

How to Select the First Row of Each Group in SQL Using ROW_NUMBER()?

各グループのレコードの最初の行を取得します

SQL では、各一意のグループの最初のレコードを取得するのが一般的なタスクです。 SM_Employee と SM_SalesRepWorkflow という 2 つのテーブルがあるこの状況を考えてみましょう。これら 2 つのテーブルを結合することにより、SM_SalesRepWorkflow から現在の月と年の各営業担当者の情報の最初の行を SalesRepId で並べ替えて選択します。

これを実現するには、ROW_NUMBER() 関数の機能を利用できます。クエリの詳細な説明は次のとおりです:

<code class="language-sql">SELECT *
FROM(
  SELECT workflowid,
         salesRepId,
         quantityAssigned,
         quantityLeft,
         month,
         year,
         ROW_NUMBER()
           OVER (PARTITION BY salesRepId ORDER BY workflowid) AS rownumber
  FROM sm_salesRepWorkflow
)
WHERE rownumber = 1;</code>
ログイン後にコピー
  • サブクエリは、salesRepId に基づいて各営業担当者の行番号を計算し、workflowid で昇順に並べ替えます。
  • メイン クエリはサブクエリをフィルタリングして行番号 1 の行のみを含め、各 salesRepId の最初の行を確実に取得します。

ROW_NUMBER() 関数を使用すると、指定された条件を守りながら、各営業担当者の最初のレコードを効率的に選択できます。この手法は、グループ化して各グループの最初の行を選択する必要があるさまざまなシナリオで役立ちます。

以上がROW_NUMBER() を使用して SQL で各グループの最初の行を選択する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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