Maison > base de données > tutoriel mysql > Comment obtenir le nombre total de lignes lors de l'utilisation de « LIMIT » dans les requêtes MySQL ?

Comment obtenir le nombre total de lignes lors de l'utilisation de « LIMIT » dans les requêtes MySQL ?

DDD
Libérer: 2024-11-13 05:50:02
original
697 Les gens l'ont consulté

How Do You Get the Total Row Count When Using `LIMIT` in MySQL Queries?

Recherche du nombre de lignes malgré LIMIT dans les requêtes MySQL

Les requêtes MySQL avec la clause LIMIT vous permettent de restreindre le nombre de lignes renvoyées. Mais que se passe-t-il si vous devez également récupérer le nombre total de lignes qui correspondent à la requête ?

Requête avec la clause LIMIT et le nombre de lignes

Considérez la requête suivante qui récupère un sous-ensemble de lignes de deux tables utilisant JOIN :

SELECT A.ID, A.NAME, B.ID, B.NAME
FROM table1 A
JOIN table2 B ON ( A.ID = B.TABLE1_ID )
WHERE
  cond1, cond2, ..., condN
LIMIT 10
Copier après la connexion

Cette requête renverra les 10 premières lignes qui satisfont aux conditions spécifiées.

Solution utilisant SQL_CALC_FOUND_ROWS

Pour obtenir le nombre total de lignes, vous pouvez utiliser la fonction SQL_CALC_FOUND_ROWS en conjonction avec la clause LIMIT :

SELECT SQL_CALC_FOUND_ROWS A.ID, A.NAME, B.ID, B.NAME
FROM table1 A
JOIN table2 B ON ( A.ID = B.TABLE1_ID )
WHERE
  cond1, cond2, ..., condN
LIMIT 10

SELECT FOUND_ROWS();
Copier après la connexion

La fonction SQL_CALC_FOUND_ROWS définit une variable interne de nombre de lignes avant exécuter la requête avec la clause LIMIT. La fonction FOUND_ROWS() récupère ensuite la valeur de cette variable, représentant le nombre total de lignes qui auraient été renvoyées sans la LIMIT.

En utilisant cette technique, vous pouvez obtenir à la fois le sous-ensemble limité de lignes et le nombre total de lignes sans avoir besoin d'une requête supplémentaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal