- ベストアンサー
ソートと列番号
データ取得時に列番号を組み込みたい場合 ROW_NUMBER() OVER (ORDER BY ソートキー) で実現できますが、これは実際ソートも行ってくれるのでしょうか? 例えば 1) select dt1,dt2, dt3,ROW_NUMBER() OVER (ORDER BY dt1,dt2,dt3) as dt4 from table_1 2) select dt1,dt2, dt3 from table_1 ORDER BY dt1,dt2,dt3 では同じ順序でデータが取得されるのでしょうか? 簡単にデータを作ってみたところ、同じようなんですが・・・・
- みんなの回答 (1)
- 専門家の回答
補足
ありがとうございます。 SQLServer2008 では無視(最適化)されるとのことですがこれはどういう意味なんでしょうか? 試してみたものは 2005 Express なのですが、実装は 2008 R2 なので詳細が気になります。 2008 R2 はMK時にインストールする予定なのでまだ環境はありません。 結局 select dt1,dt2, dt3, dt4 from ( select dt1,dt2, dt3,ROW_NUMBER() OVER (ORDER BY dt1,dt2,dt3) as dt4 from table_1 ) mainsearch order by dt4 と記述するということで問題ないのでしょうか? (うろ覚えですが order とか where とかってエイリアスはNGだったようなので・・・)