PARTITION BY criterion
CoddyのSQLジャーニー「基礎」セクションの一部。レッスン 59/72。
OVER () 句のもう1つの選択肢は PARTITION BY です
これにより、各グループの行を個別に番号付けできます
例:
| id | type |
| 132 | t1 |
| 52 | t2 |
| 92 | t1 |
| 154 | t3 |
| 198 | t1 |
SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1これにより、各種類内で番号を付ける列が生成されます:
| id | type | row_num |
| 132 | t1 | 1 |
| 52 | t2 | 1 |
| 92 | t1 | 1 |
| 154 | t3 | 1 |
| 198 | t1 | 3 |
id 92 は、type t1 における最小の id であるため、row_num 1 になります。
注: ROW_NUMBER() では、各パーティション内で行に番号を付ける方法を決定するために、OVER() 内に ORDER BY 句が必要です。
PARTITION BY 内に複数の列を指定することもできます。
ROW_NUMBER() OVER (PARTITION BY type, hue ORDER BY id)チャレンジ
簡単利用可能なテーブルとカラム:
<strong>doors</strong>:<strong>id</strong>、<strong>publication_year</strong><strong>doors_specs</strong>:<strong>id</strong>、<strong>country</strong>、<strong>color</strong>
工場ではドアを製造しています。publication_yearが2000より小さい、各countryとcolorの組み合わせのドアに番号を付ける必要があります。このカラム名をrow_numにしてください。
ドアには、各グループ内でidの昇順に番号を付ける必要があります。仕様のないドアは無視してください。最終結果はidの昇順で並べ替えてください。
自分で試してみよう
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
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自分で練習してみよう: SQLプレイグラウンド