[PHP-users 3098] Re: 件数制限

Kazumasa Gotoh php-users@php.gr.jp
Wed, 24 Oct 2001 18:25:33 +0900


From: Takayuki Watanabe <sachi@twave.co.jp>
Date: Wed, 24 Oct 2001 17:56:06 +0900

> 8i以降からしか使えませんが、
> テーブル"TBT"からカラム"A"の昇順に
> 1件目から10件目の場合は、
> 
> select A, B, C, ROWNUM from (
> 	select A, B, C from TBL order by A
> ) where ROWNUM between 1 and 10;
> 
> でOKかと。

そうできるんですか。そう言えばどこかでそんな話が出ていた気も…
# ここだったりして。(^^;

しかし、他に WHERE 句として指定したいものがあるとか、副問合せも
行いたいとかいう話があると、SQL 文が少し複雑になってくるかなぁ。

私だったらやっぱり単純にカーソルを先に進めて対処かな。 (^^;

他の方がおっしゃっている、トラフィックやメモリ上の問題が気になる
ケース(Web サーバと DB サーバが別のマシンなどのケース)であれば、
Oracle 的にはストアードプロシジャを作ってネットワークトラフィックを
抑えるという対処方法もあるのではないかと。

別に、すべての処理を PHP で完結させなければならないというものでも
ありませんしね。

とは言えあれこれと面倒が出てくると、PostgreSQL でいう limit, offset
のようなものがある方がやはり便利だなぁというのが実感ですけれども。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
(株) セントラル情報センター
                             後藤和政    kgotoh@cic-kk.co.jp