Heim > Datenbank > MySQL-Tutorial > Wie kombiniere ich mehrere SQL SELECT-Anweisungen, um Aufgaben und verspätete Aufgaben zu zählen?

Wie kombiniere ich mehrere SQL SELECT-Anweisungen, um Aufgaben und verspätete Aufgaben zu zählen?

Mary-Kate Olsen
Freigeben: 2025-01-08 22:29:44
Original
156 Leute haben es durchsucht

How to Combine Multiple SQL SELECT Statements to Count Tasks and Late Tasks?

Kombinieren mehrerer SQL-SELECT-Anweisungen: Ein praktisches Beispiel

Diese Anleitung zeigt, wie Sie die Ergebnisse mehrerer SQL-SELECT-Anweisungen effizient in einer einzigen, umfassenden Tabelle kombinieren. Als Beispiel verwenden wir eine Aufgabenverwaltungsdatenbank. Jeder Aufgabendatensatz enthält Details wie Fristen, Tage bis zum Abgabetermin (PALT) und Alter (Tage seit der Erstellung). Ziel ist es, einen Bericht zu erstellen, der für jede Person die Gesamtzahl ihrer Aufgaben und die Anzahl der überfälligen Aufgaben anzeigt.

Einzelne Abfragen zum Zählen der Gesamtaufgaben und verspäteten Aufgaben könnten wie folgt aussehen:

<code class="language-sql">SELECT ks, COUNT(*) AS "Total Tasks" FROM Table GROUP BY ks;</code>
Nach dem Login kopieren
<code class="language-sql">SELECT ks, COUNT(*) AS "Overdue Tasks" FROM Table WHERE Age > Palt GROUP BY ks;</code>
Nach dem Login kopieren

Um diese Ergebnisse zusammenzuführen, verwenden wir ein LEFT JOIN. Dadurch wird sichergestellt, dass alle Personen aus der gesamten Aufgabenanzahl einbezogen werden, auch wenn sie keine überfälligen Aufgaben haben.

<code class="language-sql">SELECT t1.ks, t1."Total Tasks", COALESCE(t2."Overdue Tasks", 0) AS "Overdue Tasks"
FROM 
    (SELECT ks, COUNT(*) AS "Total Tasks" FROM Table GROUP BY ks) t1
LEFT JOIN
    (SELECT ks, COUNT(*) AS "Overdue Tasks" FROM Table WHERE Age > Palt GROUP BY ks) t2
ON t1.ks = t2.ks;</code>
Nach dem Login kopieren

Die Funktion COALESCE behandelt Fälle, in denen eine Person keine überfälligen Aufgaben hat (was zu NULL aus LEFT JOIN führt) und ersetzt NULL aus Gründen der Klarheit durch 0. In der Abschlusstabelle werden ks (Personen-ID), „Gesamtaufgaben“ und „Überfällige Aufgaben“ angezeigt. Das LEFT JOIN stellt sicher, dass alle Personen aufgelistet werden, unabhängig davon, ob sie überfällige Aufgaben haben.

Das obige ist der detaillierte Inhalt vonWie kombiniere ich mehrere SQL SELECT-Anweisungen, um Aufgaben und verspätete Aufgaben zu zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage