SyntaxHighlighter

2012年11月8日木曜日

グルーピングして連番を振る

後で整形。備忘録。

レコードが

tableA
ID 日時 名称
1 11/4 データA
1 11/5 データB
2 11/3 データC
2 11/4 データD
2 11/5 データE
3 11/3 データF
3 11/5 データG

グルーピングして、各グループ内で連番を採番したい場合のSQL

SELECT
ROW_NUMBER() OVER ( partition by ID order by ID, 日時 ) as num
, ID
, 日時
, 名称
FROM tableA

これで、このような結果を取得できる。


num ID 日時 名称
1 1 11/4 データA
2 1 11/5 データB
1 2 11/3 データC
2 2 11/4 データD
3 2 11/5 データE
1 3 11/3 データF
2 3 11/5 データG


続けて縦横変換。