Maison >base de données >tutoriel mysql >Comment compter le nombre total de lignes en utilisant LIMIT dans MySQL ?

Comment compter le nombre total de lignes en utilisant LIMIT dans MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-12 00:02:03898parcourir

How to Count Total Rows While Using LIMIT in MySQL?

Comptage des lignes avec SELECT et LIMIT dans MySQL

Dans MySQL, la clause LIMIT peut être utilisée pour restreindre le nombre de lignes renvoyées par un requête. Cependant, lorsque vous utilisez LIMIT, il peut être difficile d'obtenir également le nombre total de lignes de la table qui satisfont aux conditions de la requête.

Considérez la requête suivante, qui récupère les 10 premières lignes d'une jointure entre deux tables. , table1 et table2, en fonction de certaines conditions (cond1, cond2, ..., condN) :

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 récupérer le nombre total de lignes qui satisfont à ces conditions sans émettre une autre requête sans LIMIT, MySQL fournit le mot-clé SQL_CALC_FOUND_ROWS. En incorporant SQL_CALC_FOUND_ROWS dans la requête initiale, MySQL calcule le nombre total de lignes avant d'appliquer 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

Après avoir exécuté cette requête, le nombre total de lignes peut être obtenu à l'aide de la requête distincte suivante :

SELECT FOUND_ROWS();

En combinant ces deux requêtes, vous pouvez à la fois limiter le nombre de lignes renvoyées et récupérer le nombre total de lignes, sans avoir besoin d'une requête supplémentaire requête.

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