Syntax
------

FOUND_ROWS()

Description
-----------

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 a
SQL_CALC_FOUND_ROWS option in the SELECT statement, and then invoke
FOUND_ROWS() afterwards.

You can also use FOUND_ROWS() to obtain the number of rows returned by a
SELECT which does not contain a LIMIT clause. In this case you don't need to
use the SQL_CALC_FOUND_ROWS option. This can be useful for example in a stored
procedure.

Also, this function works with some other statements which return a resultset,
including SHOW, DESC and HELP. For DELETE ... RETURNING you should use
ROW_COUNT(). It also works as a prepared statement, or after executing a
prepared statement.

Statements which don't return any results don't affect FOUND_ROWS() - the
previous value will still be returned.

Warning: When used after a CALL statement, this function returns the number of
rows selected by the last query in the procedure, not by the whole procedure.

Statements using the FOUND_ROWS() function are not safe for replication.

Examples
--------

SHOW ENGINES\G
*************************** 1. row ***************************
   Engine: CSV
  Support: YES
  Comment: Stores tables as CSV files
Transactions: NO
     XA: NO
 Savepoints: NO
*************************** 2. row ***************************
   Engine: MRG_MyISAM
  Support: YES
  Comment: Collection of identical MyISAM tables
Transactions: NO
     XA: NO
 Savepoints: NO

...

*************************** 8. row ***************************
   Engine: PERFORMANCE_SCHEMA
  Support: YES
  Comment: Performance Schema
Transactions: NO
     XA: NO
 Savepoints: NO
8 rows in set (0.000 sec)

SELECT FOUND_ROWS();
+--------------+
| FOUND_ROWS() |
+--------------+
|           8 |
+--------------+

SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name WHERE id > 100 LIMIT 10;

SELECT FOUND_ROWS();
+--------------+
| FOUND_ROWS() |
+--------------+
|           23 |
+--------------+

URL: https://mariadb.com/kb/en/found_rows/