アクセスカウンタ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 0人
プロフィール
月読☆彡
オーナーへメッセージ
QRコード
QRCODE

2007年08月07日

トータル件数取得

MySQLを使い掲示板などを作成してると、現在の表示件数とトータルの件数を取得したい場合がある。

仮に100件近くレコードがあるとして、21件目から10件分を取得するとする。

SELECT code, name, subject, body, date
FROM bbs_data ORDER BY code
LIMIT 10 OFFSET 20;

そうすると普通にレコードが返ってくる。その後に全体のカウントを取得する。

SELECT COUNT(code) as count
FROM bbs_data;

上記のようにする事でもトータル件数を取得する事が出来るが、下記の方法を使えばもっと簡単にトータル件数を取得できる。

SELECT SQL_CALC_FOUND_ROWS code, name, subject, body, date
FROM bbs_data
ORDER BY code
LIMIT 10 OFFSET 20;

SELECT文にSQL_CALC_FOUND_ROWSキーワードを追加するだけ

そのあとに

SELECT FOUND_ROWS() as count;

を実行するとLIMIT(OFFSET)を無視した件数が取得できる。
ここで直前のQueryのSQL_CALC_FOUND_ROWSを抜くとLIMITが反映されたレコード数を返す。

ちなみにFOUND_ROWS()は直前に実行したQueryの結果のレコード数を返す。

同じカテゴリー(MySQL)の記事
 addslashesによるエスケープ処理 (2007-08-07 13:19)
 日付の比較 (2007-06-23 12:38)
 フィールドタイプの説明 (2007-03-30 13:42)
Posted by 月読☆彡 at 13:33│Comments(0)MySQL
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。