Optimisation des requêtes SQL : obtention de plusieurs décomptes en une seule fois
Cet article présente une méthode simplifiée pour récupérer plusieurs décomptes à l'aide d'une seule requête SQL. Nous exploiterons la puissance de l'instruction CASE
en conjonction avec des fonctions d'agrégation.
La stratégie consiste à utiliser CASE
pour catégoriser les lignes en fonction de la colonne level
et à attribuer un nombre à chaque catégorie. Ces décomptes sont ensuite agrégés à l'aide de SUM
pour fournir les résultats finaux.
Voici une requête qui y parvient, renvoyant les données sur une seule ligne par distributor_id
:
<code class="language-sql">SELECT distributor_id, COUNT(*) AS total, SUM(CASE WHEN level = 'exec' THEN 1 ELSE 0 END) AS ExecCount, SUM(CASE WHEN level = 'personal' THEN 1 ELSE 0 END) AS PersonalCount FROM yourtable GROUP BY distributor_id;</code>
Cette approche fournit efficacement à la fois le décompte global et le décompte individuel pour des level
valeurs spécifiques au sein d'un seul résultat de 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!