ROW_NUMBER function
CoddyのSQLジャーニー「基礎」セクションの一部 — レッスン 57/72。
ウィンドウ関数は、現在の行に関連する一連の表行に対して計算を実行します。通常の集計関数とは異なり、ウィンドウ関数は結果を単一行にまとめません。
これらは、特に次のような場合に有用です:
- 累積合計を計算する
- グループ内の項目をランク付けする
- 現在の行を前の行または次の行と比較する
- 時間期間にわたるトレンドを分析する
例えば、ここに window functions の実際の使用例をいくつか挙げます:
- 売上分析
- 各年(1995、1997、1999)までの累積売上を計算する
- 各四半期の売上上位製品を見つける
- スポーツ統計
- 異なる年ごとのオリンピックのメダル数を追跡する
- 各競技期間(2000, 2004, 2008)のトップアスリートを特定する
ROW_NUMBER() は、最もシンプルなウィンドウ関数の一つです。これは、結果セット内の各行に一意の連続番号を割り当てます。これを使用する方法はこちらです:
SELECT column1, column2,
ROW_NUMBER() OVER ([PARTITION BY column] [ORDER BY column]) as row_num
FROM table_name;OVER 句を ROW_NUMBER() で使用することが必須です : ROW_NUMBER() OVER ()
例:
SELECT product_name, sale_date,
ROW_NUMBER() OVER () as row_num
FROM sales;これにより、1 から行の総数までをカウントする row_num 列が追加されます。
注意: OVER 句には、番号付けの動作を制御するための並べ替えおよびパーティショニングの指示を含めることができます。
チャレンジ
簡単利用可能なテーブルと列:
<strong>liquids</strong>:<strong>id</strong>,<strong>density</strong>
密度が 5.677 より大きいすべての液体を取得してください。
結果に番号を付け(ROW_NUMBER() 関数を使用)、この列を row_num と名付けてください。
チートシート
ウィンドウ関数は、現在の行に関連する一連の表行に対して計算を実行し、結果を単一行に集約せずに返します。
ROW_NUMBER() は、各行に一意の連続番号を割り当てます:
SELECT column1, column2,
ROW_NUMBER() OVER ([PARTITION BY column] [ORDER BY column]) as row_num
FROM table_name;OVER 句は ROW_NUMBER() で必須です:
SELECT product_name, sale_date,
ROW_NUMBER() OVER () as row_num
FROM sales;自分で試してみよう
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function8Statistics
Built-In Aggregate Part 1Built-In Aggregate Part 2Grouping Part 1Grouping Part 2Subqueries Part 1Subqueries Part 2Recap - Total Gain ShopRecap - Scooter ShopRecap - Coffee Shop11Window Functions part 1
ROW_NUMBER functionORDER BY criterionPARTITION BY criterionPARTITION & ORDERLEAD & LAG FunctionsRecap - LEAD & LAGRecap - PicturesRecap - Boxes3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns