- Home
- SQL Server
- SQLServer SELECT文で連番を振る(項目ごとの連番・通し連番)
SQLServer SELECT文で連番を振る(項目ごとの連番・通し連番)
- 2016/7/14
- SQL Server
- SELECT 連番, SQL Server 連番
- コメントを書く
SQLServer SELECT文で連番を振る(項目ごとの連番・通し連番)
構文
1 |
ROW_NUMBER() OVER (PARTITION BY [連番をリセットする項目] ORDER BY [連番の並び順]) AS 連番 |
「PARTITION BY」 に書かれた列の値の組み合わせが変わったときにリセットされる。
「ORDER BY」に書かれた列で並び替えた順に連番を振る。
パーティション(仕切り)ごとの連番を振る
部署番号、社員番号の昇順で並び替えてから連番を振る。
この場合、「PARTITION(仕切り)BY」に設定された部署番号が変わるたびに連番が1にリセットされる。
1 |
ROW_NUMBER() OVER (PARTITION BY BushoNo ORDER BY BushoNo,ShainNo) AS 連番 |
全体の通し連番を振る
1 |
ROW_NUMBER() OVER (PARTITION BY 1 ORDER BY BushoNo,ShainNo) AS 連番 |
「PARTITION BY」に定数を指定することにより、「PARTITION(仕切り)」が無くなり、SQLの結果全体の通し連番を振ることができる。
「PARTITION BY」の後に書かれた「1」が定数で、この値は変わらない為、連番が途中で「1」にリセットされることはない。
コメント
この記事へのトラックバックはありません。
この記事へのコメントはありません。