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!