連番と連番の振り直し(Row_Number) (SQL:14060)

Questions
Excelとは違って並びに意味が無いデータベースですが、強引に並びに意味を持たせることができる方法がRow_numberです。
 Row_numberを使うと上から順番に連番を振っていく事が可能となります。
 試しにこのSQL文にRow_numberで連番を振ってみたいと思います。
Select 
 Row_number() 
 over(Order By num desc) 
 as Row_number
,userid
,num
 From
(
Select
userid,count(userid) as num
From T_alocate 
Group By userid Having num <>1
)X
 このまま実行すると全く面白みのない結果が表示されますが、Row_numberの進化の発揮どころはここではありません
 なんと、特定のカラムごとに連番の振り直しができるのです。やってみるのが速いので見てみてください。
Select 
 Row_number() 
 over(partition By num Order By num ) 
 as Row_number
,userid
,num
 From
(
Select
userid,count(userid) as num
From T_alocate 
Group By userid 
Having num <>1
Order By num desc
)X
 pareaの値が変わるたびに連番が新しくなっているのがわかりますでしょうか
※45行目ぐらいをみるとわかります。
Row_numberはいろんなところで使いますのでぜひ覚えましょう。
Up:2021/08/29
Re:2021/09/14

Appendix
Click!
Row_numberを使った連番生成は非常に重要です。利用頻度が非常に高く、必ずマスターした方が良い内容となります。
超初級
初級
中級
上級
特殊
演習
超初級
初級
中級
上級
特殊
演習
aaaa