Heim > Datenbank > MySQL-Tutorial > Wie kann ich mehrere SELECT-Anweisungen kombinieren, um den Abschluss und die Verspätung einer Aufgabe zu analysieren?

Wie kann ich mehrere SELECT-Anweisungen kombinieren, um den Abschluss und die Verspätung einer Aufgabe zu analysieren?

Linda Hamilton
Freigeben: 2025-01-08 22:41:43
Original
368 Leute haben es durchsucht

How Can I Combine Multiple SELECT Statements to Analyze Task Completion and Lateness?

Effiziente Datenanalyse: Kombination mehrerer SELECT-Anweisungen

Datenbankabfragen erfordern häufig die Kombination von Daten aus mehreren Quellen oder die Anwendung mehrerer Transformationen. Das Zusammenführen der Ausgaben mehrerer SELECT-Anweisungen bietet eine leistungsstarke Möglichkeit, Daten zu manipulieren und wertvolle Erkenntnisse zu gewinnen.

Stellen Sie sich eine Aufgabendatenbank vor, in der jeder Datensatz eine Aufgabe darstellt, einschließlich einer Frist (PALT) und dem Alter der Aufgabe (Tage seit Beginn). Eine Aufgabe ist verspätet, wenn ihr Alter ihren PALT überschreitet. Unser Ziel ist es, eine Übersichtstabelle zu erstellen, die die Gesamtanzahl der Aufgaben jeder Person und die Anzahl der überfälligen Aufgaben zeigt.

Dies kann durch zwei separate SELECTAnweisungen erreicht werden:

SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks;
Nach dem Login kopieren

Diese Abfrage zählt die Gesamtaufgaben für jede Person (gekennzeichnet durch ks).

SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks;
Nach dem Login kopieren

Diese Abfrage zählt die Anzahl der verspäteten Aufgaben für jede Person.

Um diese zu kombinieren, verwenden wir ein LEFT JOIN:

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;
Nach dem Login kopieren

Dies führt die Ergebnisse basierend auf der Spalte ks zusammen. COALESCE behandelt Fälle, in denen eine Person keine verspäteten Aufgaben hat, und ersetzt NULL durch 0.

Die Abschlusstabelle zeigt ks (Personen-ID), # Tasks (Gesamtaufgaben) und # Late (Anzahl verspäteter Aufgaben oder 0, wenn keine). Dies ermöglicht eine gründliche Analyse der einzelnen Arbeitsbelastungen und des Prozentsatzes überfälliger Aufgaben.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere SELECT-Anweisungen kombinieren, um den Abschluss und die Verspätung einer Aufgabe zu analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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