Menu
Coddy logo textTech

PARTITION & ORDER

CoddyのSQLジャーニー「基礎」セクションの一部 — レッスン 60/72。

PARTITION BYORDER BY と組み合わせることもできます。例えば、以下の table1 を考えてみてください:

idtype
132t1
52t2
92t1
154t3
198t1
SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1

これにより、各タイプの id によって昇順で行を番号付けします:

idtyperow_num
132t12
52t21
92t11
154t31
198t13

これで id 132 の row_num は 2 になります。これは 92 より大きく 198 より小さい(すべての t1 タイプの行のうち)からです。

challenge icon

チャレンジ

簡単

利用可能なテーブルと列:

  • <strong>doors</strong>: <strong>id</strong>, <strong>publication_year</strong>
  • <strong>doors_specs</strong>: <strong>id</strong>, <strong>country</strong>, <strong>color</strong>

各国におけるドアの色の順序を出版年順に分析するための SQL クエリを記述してください。各ドアスペースについて、以下を表示:

  • 出版年
  • 各国ごとの出版年に基づく色の順序を示す番号。この列をcolor_sequence_numberと命名してください。

チートシート

PARTITION BYORDER BY と組み合わせることで、各パーティション内の行を特定の順序で番号付けできます:

SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1

これにより、各 type グループ内で id の昇順で行が番号付けされます。各パーティションは番号付けを 1 から再開します。

自分で試してみよう

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン