Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL - Fonction FOUND_ROWS() pour le nombre total de lignes affectées

Dans SQL Server, pour obtenir le nombre total de lignes affectées par la dernière instruction, vous pouvez utiliser la variable système @@ROWCOUNT. De même, dans MySQL, vous pouvez le trouver en utilisant la fonction FOUND_ROWS ().

Créons cet ensemble de données

CREATE TABLE TEST(ID INT, NAME VARCHAR(30));
INSERT INTO TEST(ID,NAME)
SELECT 1,'NAME1' UNION ALL
SELECT 2,'NAME2' UNION ALL
SELECT 3,'NAME3' UNION ALL
SELECT 4,'NAME4' UNION ALL
SELECT 5,'NAME5';
SELECT * FROM TEST;
SELECT FOUND_ROWS();


Ce qui précède renverra deux jeux de résultats. Le deuxième ensemble de résultats sera 5 (nombre de lignes pour l'instruction SELECT).

Vous pouvez également utiliser SQL_CALC_FOUND_ROWS avec FOUND_ROWS () pour obtenir le nombre total de lignes dans une table. Lorsque SQL_CALC_FOUND_ROWS est utilisé, FOUND_ROWS() omettra la clause LIMIT.

SELECT * FROM TEST LIMIT 2;

Ce qui précède ne renverra que 2 lignes.

SELECT SQL_CALC_FOUND_ROWS * FROM TEST LIMIT 2;
SELECT FOUND_ROWS();


Lorsque vous exécutez ce qui précède, il renvoie deux jeux de résultats. Le premier jeu de résultats renverra deux lignes. Le deuxième jeu de résultats renverra 5 (nombre total de lignes sans clause LIMIT).

Je pense que c'est une fonction vraiment intéressante et nous pouvons l'utiliser dans des applications quotidiennes. Laissez un commentaire si vous utilisez une application où vous avez besoin de savoir combien de lignes ont été affectées par le commentaire précédent.