FOUND_ROWS
Note
The
SQL_CALC_FOUND_ROWS
query modifier and accompanyingFOUND_ROWS()
function are deprecated; expect them to be removed in a future version of MySQL. Execute the query withLIMIT
, and then a second query withCOUNT(*)
and withoutLIMIT
to determine whether there are additional rows. For example, instead of these queries:Use these queries instead:
COUNT(*)
is subject to certain optimizations.SQL_CALC_FOUND_ROWS
causes some optimizations to be disabled.
A SELECT
statement may include a LIMIT
clause to restrict the number of rows the server returns to the client. In some cases, it is desirable to know how many rows the statement would have returned without the LIMIT
, but without running the statement again. To obtain this row count, include an SQL_CALC_FOUND_ROWS
option in the SELECT
statement, and then invoke FOUND_ROWS()
afterward:
The second SELECT
returns a number indicating how many rows the first SELECT
would have returned had it been written without the LIMIT
clause.
In the absence of the SQL_CALC_FOUND_ROWS
option in the most recent successful SELECT
statement, FOUND_ROWS()
returns the number of rows in the result set returned by that statement. If the statement includes a LIMIT
clause, FOUND_ROWS()
returns the number of rows up to the limit. For example, FOUND_ROWS()
returns 10 or 60, respectively, if the statement includes LIMIT 10
or LIMIT 50, 10
.
Last updated