
ご相談したい事があります。
Oracle9iにて約100万件あるデータを抽出するのに一度に100万件を抽出すると時間が掛かってしまうと思い、rownumを使用して1万件単位で抽出したいのですが、SqlPlusにて以下のSQLを実行すると「レコードが選択されませんでした」と返ってきます。
SELECT * FROM tbl WHERE rownum >= 10001 AND rownum <= 20000;
どうしてなのでしょうか?rownumではこのような使い方では使用できないのでしょうか?
ちなみにWHERE以下を
rownum >= 1 AND rownum <= 10000;
にすると1万件抽出できます。
お分かりの方がいらっしゃれば、ご教授願います。
No.2
- 回答日時:
使用できません。
。rownum列は必ず1から始まるので、途中からのselectはできないハズです。
No.1
- 回答日時:
こんばんは。
SELECT *
FROM (SELECT ROWNUM as rn, * FROM tbl)
WHERE rn >= 10001 AND rn<= 20000;
ですか。
そもそもROWNUMとは、取得した結果セットを内部的にFETCHして、LIMITを掛けています。
つまり、1回のROWNUMだけだと、STOP位置を決定するに過ぎません。
ので、いったんROWNUMをシーケンシャルに保持させた一時テーブルを作成し、再度取得しなおす必要があります。
シーケンシャルとは、あくまでも内部的にFETCHしている順序に依存します。
ORDER BY句がない場合、次回同じSQLを発行しても、その順序は保証されません・・・。
(^^ゞ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- MySQL SQLについて教えて下さい。 SELECT分で、あるカラムにある日付の 半年先のデータを取って来たい 3 2022/12/07 22:28
- Excel(エクセル) エクセルで重複データを行ごとに抽出したい 4 2022/12/05 08:18
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- Access(アクセス) Accessクエリで年月フィールドを年のみで抽出する方法について 2 2022/08/29 18:10
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
group byの並び順を変えるだけ...
-
引数によってwhere句を切り替え...
-
SELECT FOR UPDATE で該当レコ...
-
where句中のtrim関数について
-
「数字で始まらない」ものを抽...
-
【PL/SQL】FROM区に変数を使う方法
-
単一グループのグループ関数で...
-
SQL*Loader Append
-
AccessのSQL文で1件のみヒット...
-
updateで複数行更新したい
-
データ
-
大量レコードをTRUNCATEせずに...
-
トランザクションログを出力せ...
-
アクセスのレポートでレコード...
-
440 OIP エラーについて(ORADC)
-
PL/SQL内の共通関数の引数にフ...
-
osqleditについて
-
SQLで条件にヒットしたレコード...
-
トリガからプロシージャのコー...
-
Oracle9iデータベースの削除に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【PL/SQL】FROM区に変数を使う方法
-
where句中のtrim関数について
-
単一グループのグループ関数で...
-
SELECT FOR UPDATE で該当レコ...
-
AccessのSQL文で1件のみヒット...
-
group byの並び順を変えるだけ...
-
SQL*Loader Append
-
トランザクションログを出力せ...
-
引数によってwhere句を切り替え...
-
データ
-
アクセスのレポートでレコード...
-
osqleditについて
-
「数字で始まらない」ものを抽...
-
SQLで条件にヒットしたレコード...
-
1レコード全てを改行なしで表...
-
BLOB型項目をSQLの検索条件に指...
-
PL/SQL内の共通関数の引数にフ...
-
updateで複数行更新したい
-
デフォルトでデータが表示され...
-
【SQL】違うフィールド同士の集...
おすすめ情報