Maison >base de données >tutoriel mysql >Comment compter les lignes avec LIMIT dans les requêtes MySQL ?

Comment compter les lignes avec LIMIT dans les requêtes MySQL ?

DDD
DDDoriginal
2024-11-12 11:17:02789parcourir

How to Count Rows with LIMIT in MySQL Queries?

Comptage des lignes dans les requêtes MySQL avec LIMIT

Lors de l'exécution de requêtes MySQL avec la clause LIMIT, les utilisateurs sont souvent confrontés au défi d'obtenir simultanément le total nombre de lignes correspondant aux conditions de la requête. Cela est dû à la contrainte de LIMIT de renvoyer uniquement un nombre spécifique de lignes.

Pour surmonter cette limitation, une technique connue sous le nom de méthode de sous-requête peut être utilisée. Pour y parvenir, intégrez la syntaxe suivante dans votre requête :

SELECT SQL_CALC_FOUND_ROWS ...;

Cette instruction lance le décompte des lignes au niveau SQL, en stockant le décompte dans une variable temporaire.

Pour récupérer le count, exécutez une requête suivante :

SELECT FOUND_ROWS();

Par exemple, considérons la requête suivante :

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

Pour obtenir à la fois les lignes filtrées et le nombre total, utilisez la requête suivante :

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();

Cette technique permet aux utilisateurs de compter efficacement les lignes dans les requêtes à l'aide de la clause LIMIT sans recourir à des requêtes supplémentaires.

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!

Déclaration:
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