FOUND_ROWS
Returns the number of rows when using commands that return a resultset, such as SELECT
, DESC
, and SHOW
.
Syntax
FOUND_ROWS()
Arguments
None
Return Type
int
Examples
SHOW TABLES; **** +--------------+ | Tables_in_db | +--------------+ | testdata | +--------------+
SELECT FOUND_ROWS(); **** +--------------+ | FOUND_ROWS() | +--------------+ | 1 | +--------------+
SELECT ID FROM neighborhoods LIMIT 2; **** +------+ | id | +------+ | 1 | | 3 | +------+
SELECT FOUND_ROWS(); **** +--------------+ | FOUND_ROWS() | +--------------+ | 2 | +--------------+
SELECT * FROM testdata; **** +----------+ | Results | +----------+ | 1 | | 2 | | 3 | | 4 | | 5 | +----------+
SELECT FOUND_ROWS; **** +--------------+ | FOUND_ROWS() | +--------------+ | 5 | +--------------+
DESC testdata; **** +-------+---------+------+------+---------+-----------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+------+---------+-------+ | id | int(10) | NO | | NULL | | +--------+------------+------+------+---------+-------+ | name | varchar(64)| NO | | NULL | | +--------+------------+------+------+---------+-------+ | amount | int(10) | NO | | NULL | | +-------+---------+------+------+---------+-----------+
SELECT FOUND_ROWS; **** +--------------+ | FOUND_ROWS() | +--------------+ | 1 | +--------------+
Note
Please note, there can be an incorrect result given when running a query using LIMIT
with an offset. See the following example:
CREATE TABLE t1(a BIGINT PRIMARY KEY AUTO_INCREMENT, b INT); INSERT random integers into t1 so total row count is greater than LIMIT argument. SELECT COUNT(*) FROM t1 GROUP BY a ORDER BY a LIMIT 5,10; +----------+ | COUNT(*) | +----------+ | 1 | | 1 | | 1 | | 1 | | 1 | | 1 | | 1 | | 1 | | 1 | | 1 | +----------+ 10 rows in set (0.03 sec) SELECT FOUND_ROWS(); -- the result should be 10 +--------------+ | FOUND_ROWS() | +--------------+ | 15 | +--------------+ 1 row in set (0.00 sec)