Häufig braucht man die Anzahl aller Datensätze einer Abfrage, wobei nur eine Untermenge ausgegeben werden soll. Ein typisches Beispiel ist eine Suchfunktion, bei der die Ergebnisse seitenweise angezeigt werden. Als Info und für die Navigationsschalter muss zwar die Anzahl aller Ergebnisse ermittelt, aber nur die Elemente der aktuellen Seite abgeholt werden. Die Beschränkung der Ergebnisse nimmt man üblicherweise bei MySQL mit LIMIT vor.
Um sich eine zusätzliche Abfrage mit count() zu ersparen, die die komplette Angabe der WHERE/HAVING/…-Beschränkungen erfordert und damit kompliziert werden kann, ist es möglich SQL_CALC_FOUND_ROWS in die vorhandene Abfrage zu integrieren. Diese Anweisung zählt alle Datensätze und ignoriert dabei die LIMIT-Angabe. Man benötigt zwar immer noch ein zweites Select (SELECT FOUND_ROWS()), doch dieses ist sehr viel einfacher als das Gewurschtel mit count().