人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQL4.0.xについて教えてください

検索した結果「1〜30件を表示 / 2000件」と表示したい場合、
最初に該当する件数を取得し、その後、実際の登録内容を検索しています。

もしかして、この面倒なやり方は間違っていて、
一度に該当する件数と、内容を両方取得する方法があるのでしょうか?


SELECT * FROM table WHERE xxxx LIMIT 0 , 30

とするのと同時に該当した全ての件数を取得する事ができるかどうかということと、
できるとした場合のSQLを教えてください。

よろしくお願いします。


●質問者: worldtravel
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:SELECT SQL XXXX 検索
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● bonyan
●60ポイント

SQL_CALC_FOUND_ROWS と、FOUND_ROWS()でどうでしょう?

SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE xxxx LIMIT 0 , 30

として、実行した後、

SELECT FOUND_ROWS();

とすると、LIMITを指定しなかった場合の件数を取得できるようです。

http://dev.mysql.com/doc/refman/5.1/ja/information-functions.htm...

のFOUND_ROWS()のところがわかりやすいです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ