SQLの質問です。

ある条件でselectするとレコードが1万件近くあります。
これを100件ずつ取得する方法はありませんか?
IDやタイムスタンプのフィールドはありますが、(抽出条件の都合で)100件ごとに区切るキーワードにはなりにくいです。
SQLはPHPで発行しているので、PEARは使えます。それとDBはOracleですが、MySQLでも似たようなことをやりたい場合も出てきそうなので、SQLの記述で都合の良いものがあればと思って質問しました。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:kimizu No.1

回答回数726ベストアンサー獲得回数21

ポイント50pt

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/mysql_10.htm

MySQL 編10 - スカラー副問い合わせ、件数指定、LIMIT、HAVING、USING - SAK Streets

LIMITが使えます。

何レコード目から何レコード、という使い方です。

id:P-mako

limitですね。まさに求めていた指定です。

ありがとうございました。

2006/02/28 15:41:36
  • id:akibare
    FYI

    OFFSETとLIMITはOracleでは使えなくて、

    SELECT * FROM table WHERE ROWNUM BETWEEN 10 AND 20

    みたいに擬似行番号ROWNUMを使わなければなりません。
  • id:dungeon-master
    Re:FYI

    >SELECT * FROM table WHERE ROWNUM BETWEEN 10 AND 20

    ROWNUM=1〜nを選択するのではない場合(つまりオフセットがある場合)は、
    副問い合わせでROWNUMを確定した後に、範囲を限定してください。
    SELECT 〜 FROM (SELECT rownum AS seqno, * FROM table_name) WHERE seqno >=11 and seqno<=20;

    http://www.oracle.co.jp/2shin/ora81/16_17.html

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません