Maison > développement back-end > tutoriel php > Comment déterminer le nombre total de résultats dans MySQL avec décalage et limite ?

Comment déterminer le nombre total de résultats dans MySQL avec décalage et limite ?

DDD
Libérer: 2024-10-23 10:56:30
original
878 Les gens l'ont consulté

How to Determine the Total Result Count in MySQL with Offset and Limit?

Détermination du nombre total de résultats avec décalage et limite MySQL

Lors de la mise en œuvre de la pagination avec décalage et limite, il est crucial de déterminer le nombre total de résultats pour calculer les pages nécessaires. Bien qu'exécuter la requête deux fois (une fois avec et sans LIMIT) puisse sembler redondant, il existe de meilleures approches.

MySQL fournit un moyen de récupérer le nombre total de résultats sans requête supplémentaire à l'aide de SQL_CALC_FOUND_ROWS. En ajoutant ce mot-clé avant la requête principale, MySQL calcule le nombre total de lignes qui auraient été renvoyées sans la clause LIMIT.

Voici un exemple :

<code class="sql">SELECT SQL_CALC_FOUND_ROWS *
FROM directory_listing
WHERE category_id = <category_id>
LIMIT offset, limit;</code>
Copier après la connexion

Après avoir exécuté cette requête, vous pouvez utiliser le code suivant pour récupérer le nombre total de résultats :

$query = $this->db->query('SELECT FOUND_ROWS() AS total_count;');
$total_count = $query->first_row()->total_count;
Copier après la connexion

Cette approche vous permet de récupérer efficacement le nombre total sans exécuter de requête supplémentaire. En utilisant SQL_CALC_FOUND_ROWS, vous pouvez améliorer les performances et l'utilisation des ressources de votre fonctionnalité de pagination.

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
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