mysqlのselect文で質問。

部分要素に絞りつつ、全体の数も一気に得る方法。
例えば
select distincts_hoge.*
froms_hoge
wheres_hoge.memo like ’%hogehoge%’
limit10 offset 0”;
のようにs_hoge.memoにhogehogeを含むものに絞ってしかも、0〜10件までに絞っています。
この時同時に、
s_hoge.memoにhogehogeを含むものの全体数を得たいです。
1ページに10件まで表示して最大何ページあるかとかを知りたいわけです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/06/06 18:35:34
  • 終了:--

回答(1件)

id:sakaik No.1

sakaik回答回数9ベストアンサー獲得回数02004/06/06 19:26:00

ポイント40pt

http://d.hatena.ne.jp/tekTech/20040405

2004-04-05 - tekTechめも

一気に取る方法はありませんが、同じテーブルに limit を付けてデータを取る処理と count(*)を行う処理とを2度も投げたくない、という意図でしたら、

 SQL_CALC_FOUND_ROWS

をつけたSQLを最初に投げ、その直後に

 found_rows()

の値を見ることで実現できます。

http://dev.mysql.com/doc/mysql/ja/index.html

MySQL AB :: MySQL 4.1 リファレンスマニュアル

一応、マニュアル置き場。

id:kunitz

ありがとうございます!

2004/06/06 20:29:16

コメントはまだありません

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません