Maison > base de données > tutoriel mysql > Comment puis-je obtenir plusieurs décomptes à partir d'une seule requête SQL ?

Comment puis-je obtenir plusieurs décomptes à partir d'une seule requête SQL ?

Linda Hamilton
Libérer: 2025-01-20 16:13:11
original
786 Les gens l'ont consulté

How Can I Get Multiple Counts from a Single SQL Query?

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>
Copier après la connexion

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal