
Comptage conditionnel par colonne
Description du problème :
Supposons que vous ayez un tableau avec des colonnes jobId, jobName et Priority, où Priority est un entier compris entre 1 et 5. L'objectif est de générer une requête qui compte le nombre de lignes avec une valeur Priority spécifique et d'afficher les résultats dans un format adapté à la création d'un rapport graphique.
Solution :
Pour obtenir les résultats souhaités, vous pouvez utiliser une combinaison d'expressions conditionnelles et de fonctions d'agrégation :
<code class="language-sql">SELECT
jobID, JobName,
SUM(CASE WHEN Priority = 1 THEN 1 ELSE 0 END) AS Priority1,
SUM(CASE WHEN Priority = 2 THEN 1 ELSE 0 END) AS Priority2,
SUM(CASE WHEN Priority = 3 THEN 1 ELSE 0 END) AS Priority3,
SUM(CASE WHEN Priority = 4 THEN 1 ELSE 0 END) AS Priority4,
SUM(CASE WHEN Priority = 5 THEN 1 ELSE 0 END) AS Priority5
FROM
Jobs
GROUP BY
jobID, JobName;</code>Cette requête utilise une expression CASE pour rechercher une valeur Priority spécifique et attribuer une valeur de 1 si la condition est vraie et de 0 sinon. Ces valeurs sont ensuite additionnées pour chaque combinaison jobID et JobName.
GROUP BY garantit que les résultats sont regroupés par valeurs uniques de jobID et JobName, fournissant ainsi une répartition de chaque nombre de tâches.
En formatant les résultats de cette manière, vous pouvez facilement les intégrer dans des rapports graphiques pour visualiser la distribution des Priority valeurs pour différentes tâches.
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!
La différence entre bond0 et bond1
La différence entre l'hibernation et le sommeil de l'ordinateur
niveau d'isolement des transactions par défaut de MySQL
utilisation de la fonction de tri de Python
Introduction à la signification de javascript
Le concept m2m dans l'Internet des objets
commutation de carte graphique y460
Quelles sont les plateformes de trading de devises virtuelles ?