2009/06/16

[oracle]行番号の表示

行番号を表示するのは、一般的に、rownumが主流ですが、ROW_NUMBER()構文を使っても表示できるみたいです。

一般的な、構文は下記を参照

ROW_NUMBER() OVER(PARTITION BY グループ化する項目 ORDER BY 整列する項目)


via:【拡張SQL】グループ毎に連番を割り当てる

この構文はすごい。

グループ化する項目の値が変わる度に、行番号を振りなおしてくれる。
rownumの場合は、行番号を振りなおすということはなく、ただひたすら連番を振っていくだけ。
同ブログによると、rownumは擬似列であるのに対して、ROW_NUMBER()は関数なので、これが実現できるのだとのこと。

order by区をしっかり指定しないと目的のデータをゲットできない可能性もあるので、そこは注意したいところです。

0 コメント:

コメントを投稿