行番号を表示するのは、一般的に、rownumが主流ですが、ROW_NUMBER()構文を使っても表示できるみたいです。
一般的な、構文は下記を参照
ROW_NUMBER() OVER(PARTITION BY グループ化する項目 ORDER BY 整列する項目)
via:【拡張SQL】グループ毎に連番を割り当てる
この構文はすごい。
グループ化する項目の値が変わる度に、行番号を振りなおしてくれる。
rownumの場合は、行番号を振りなおすということはなく、ただひたすら連番を振っていくだけ。
同ブログによると、rownumは擬似列であるのに対して、ROW_NUMBER()は関数なので、これが実現できるのだとのこと。
order by区をしっかり指定しないと目的のデータをゲットできない可能性もあるので、そこは注意したいところです。
0 コメント:
コメントを投稿