最後にSELECTした行数を取得するFOUND_ROWS()。 ページングする場合など、分母が欲しい場合があります。 たとえば100レコードあるけど、1ページに表示するデータは10レコードの場合。 普通に考えたら、10レコード取得するSELECTと、同じ条件でCOUNT(*)するSELECTを発行すると思います。 MySQLにはこういう場合用とも言える機能があります。 以下の実行例の通りです。 ま、SELECTを2回発行することに違いはないですが、スマートですよね。 ■SQL_CALC_FOUND_ROWS指定なし mysql> SELECT * FROM tbl_name LIMIT 10; ----------------------------- 10 rows in set (0.00 sec) mysql> SELECT FOUND_ROWS(); +--------------
![(MySQL)SQL_CALC_FOUND_ROWSを使う - 優柔不断なプログラマの日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/df3a50c14b465108d37d0f484920317dd74971fb/height=288;version=1;width=512/http%3A%2F%2Fu.xgoo.jp%2Fimg%2Fsns%2Fblog.png)