Maison > base de données > tutoriel mysql > Comment combiner deux requêtes SELECT pour compter les tâches et les tâches en retard pour chaque individu ?

Comment combiner deux requêtes SELECT pour compter les tâches et les tâches en retard pour chaque individu ?

Mary-Kate Olsen
Libérer: 2025-01-08 22:32:43
original
704 Les gens l'ont consulté

How to Combine Two SELECT Queries to Count Tasks and Late Tasks for Each Individual?

Combinaison de requêtes SELECT pour une analyse complète des tâches

Les requêtes de base de données nécessitent souvent de combiner des données provenant de plusieurs sources pour obtenir une image complète. Cela implique de joindre les résultats de plusieurs SELECT instructions, une technique cruciale dans de nombreux contextes de programmation.

Considérons un scénario impliquant une base de données de tâches avec des délais et des missions individuelles. L'objectif est de générer un rapport montrant chaque individu, son nombre total de tâches et le nombre de tâches en retard.

Ceci peut être réalisé en utilisant deux SELECT requêtes distinctes : une pour compter les tâches par individu et une autre pour compter les tâches en retard (où Age dépasse le délai prédéfini PALT). Pour consolider ces informations, un LEFT JOIN est utilisé. Cela garantit que tous les individus de la première requête sont inclus, avec le nombre de tâches en retard correspondant à celui de la deuxième requête. La jointure est basée sur la colonne ks (identifiant individuel).

La requête combinée est la suivante :

<code class="language-sql">SELECT t1.ks, t1.[# Tasks], COALESCE(t2.[# Late], 0) AS [# Late]
FROM 
    (SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks) t1
LEFT JOIN
    (SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks) t2
ON t1.ks = t2.ks;</code>
Copier après la connexion

Le résultat est un tableau répertoriant les ks de chaque individu, leur nombre total de tâches (# Tasks) et le nombre de tâches en retard (# Late). COALESCE gère les cas où un individu n'a aucune tâche en retard, en attribuant une valeur 0 à # Late. Cela fournit un résumé complet et précis.

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