- PR -

SQLの結果を分割して取得する方法について

1
投稿者投稿内容
miyavi
常連さん
会議室デビュー日: 2006/12/07
投稿数: 27
投稿日時: 2007-01-18 11:32
ORACLE 7.3.4を使用しています。

SQLの結果を取得する際に、大量データの場合、
データを分割して取得したいと考えているのですが、
良い方法が見当たりません。

例えば10,000件のデータを表示する際に、
「1〜1,000」「1,001〜2,000」・・・のように、
必要な箇所のみ取得したいと考えております。

--------------------------
SELECT COL1,COL2 FROM (
SELECT COL1,COL2,CEIL(ROWNUM/1000) R_NUM FROM TBL1
)
WHERE R_NUM = 2
ORDER BY COL1
--------------------------

このSQL文で「1,001〜2,000件」を取得出来ますが、
全件を取りに行った後に、必要な情報を抽出しているので、
効率が良いとは思えません。

大変恐縮ですが、効率よく必要な情報を取得できる方法を
ご存知の方がおられましたら、ご教授願います。

よろしくお願いします。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2007-01-18 13:18
Oracleだとこうするしかないような気がします。
そもそも大量データだった場合は検索条件を見直させる用にするのではだめですか?
見せ方にもよるかも知れないけれど10000件のデータなんて全部見ないだろうし。

SQLだけの問題ならここよりは Database Expert 会議室の方が良いのではないでしょうか。
_________________
かるあ のメモスニペット
miyavi
常連さん
会議室デビュー日: 2006/12/07
投稿数: 27
投稿日時: 2007-01-18 13:46
お返事ありがとうございます。

以前こちらの会議室で質問させて頂きまして、
同じくスレッドを立ててしまいました。

Database Expert 会議室の方が適切ですよね。
移動する事にします。

本来なら検索条件で1000件未満に絞って表示するべきだと思いますが、
事情により、大量データを表示する必要がありまして。

お返事ありがとう御座いました。
1

スキルアップ/キャリアアップ(JOB@IT)