- ベストアンサー
2行目を表示できますか?
上位n行目は下記のようにして取得できますよね。 SELECT TOP n 項目A FROM テーブルA 2行目だけを取得する、あるいは 10行目から20行目だけを取得することはできますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
10~20件目を表示させたい場合は ----------------------------------- select top 10 [項目A] from [テーブル] where [キー項目] not in (select top 9 [キー項目] from [テーブル] order by [項目B]) order by [項目B] ----------------------------------- このように書けばOKです。 not in (select top 9 で、1~9件目のデータを飛ばしています。 2件目のみの表示だけでいいならば、ここの 9 を 1に変えると 動くと思いますよ。
その他の回答 (1)
- k_o_r_o_c_h_a_n
- ベストアンサー率55% (526/942)
回答No.2
基本的に、#1で書かれているSQLで異論はないのですが・・ 100001件目~100010件のような、巨大なデータの後半戦だと、 not inが如何にも苦しいように感じます。 select * from (select top 10 * from (select top 100010 * from X order by x) order by x desc) order by x の方がRDBに、ちょっとだけ優しいような気がします。 (top 100010の時点で苦しいのですけどね)