Heim > Datenbank > MySQL-Tutorial > Wie kombiniere ich die Anzahl der Aufgaben und verspäteten Aufgaben für Einzelpersonen, die SQL-Joins verwenden?

Wie kombiniere ich die Anzahl der Aufgaben und verspäteten Aufgaben für Einzelpersonen, die SQL-Joins verwenden?

Barbara Streisand
Freigeben: 2025-01-08 22:37:44
Original
932 Leute haben es durchsucht

How to Combine Task and Late Task Counts for Individuals Using SQL Joins?

Konsolidieren von Daten aus mehreren SQL-Abfragen

Datenbankverwaltung erfordert oft die Integration von Daten aus verschiedenen Quellen oder Tabellen. Eine gängige Methode ist die Verwendung von SQL-JOIN-Operationen, um Ergebnisse aus mehreren SELECT-Anweisungen zu kombinieren.

Dieses Beispiel zeigt, wie Daten aus zwei Abfragen kombiniert werden: eine, die die Gesamtaufgaben zählt, und eine andere, die überfällige Aufgaben für jede einzelne Person zählt. Ziel ist es, eine Tabelle zu erstellen, die die Anzahl der Aufgaben und die Anzahl der überfälligen Aufgaben jedes Einzelnen zeigt.

Die erste Abfrage berechnet die Gesamtanzahl der Aufgaben jedes Einzelnen:

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

Dadurch entsteht eine Tabelle mit ks (individuelle Kennung) und Total Tasks.

Die zweite Abfrage zählt die überfälligen Aufgaben jedes Einzelnen:

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

Dadurch wird eine Tabelle mit ks und Overdue Tasks generiert.

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

Die kombinierte Abfrage lautet:

<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

COALESCE behandelt Fälle, in denen einzelnen Personen überfällige Aufgaben fehlen, und ersetzt NULL durch 0.

In der Abschlusstabelle werden ks, Total Tasks und Overdue Tasks für jede Person angezeigt.

Das obige ist der detaillierte Inhalt vonWie kombiniere ich die Anzahl der Aufgaben und verspäteten Aufgaben für Einzelpersonen, die SQL-Joins verwenden?. 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