Heim > Datenbank > MySQL-Tutorial > Wie kombiniere ich zwei SELECT-Abfragen, um Aufgaben und verspätete Aufgaben für jeden Einzelnen zu zählen?

Wie kombiniere ich zwei SELECT-Abfragen, um Aufgaben und verspätete Aufgaben für jeden Einzelnen zu zählen?

Mary-Kate Olsen
Freigeben: 2025-01-08 22:32:43
Original
710 Leute haben es durchsucht

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

Kombinieren von SELECT-Abfragen für eine umfassende Aufgabenanalyse

Datenbankabfragen erfordern häufig die Kombination von Daten aus mehreren Quellen, um ein vollständiges Bild zu erhalten. Dabei werden die Ergebnisse mehrerer SELECT-Anweisungen zusammengefügt – eine entscheidende Technik in vielen Programmierkontexten.

Stellen Sie sich ein Szenario mit einer Aufgabendatenbank mit Fristen und einzelnen Aufgaben vor. Das Ziel besteht darin, einen Bericht zu erstellen, der jede einzelne Person, ihre Gesamtaufgabenanzahl und die Anzahl überfälliger Aufgaben zeigt.

Dies kann durch zwei separate SELECT-Abfragen erreicht werden: eine zum Zählen von Aufgaben pro Person und eine weitere zum Zählen überfälliger Aufgaben (wobei Age die vordefinierte Frist PALT überschreitet). Um diese Informationen zu konsolidieren, wird ein LEFT JOIN verwendet. Dadurch wird sichergestellt, dass alle Personen aus der ersten Abfrage einbezogen werden und die Anzahl der überfälligen Aufgaben aus der zweiten Abfrage übereinstimmt. Der Join basiert auf der Spalte ks (individuelle Kennung).

Die kombinierte Abfrage lautet wie folgt:

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

Die Ausgabe ist eine Tabelle, in der die ks jeder Person, ihre Gesamtaufgabenanzahl (# Tasks) und die Anzahl überfälliger Aufgaben (# Late) aufgeführt sind. COALESCE behandelt Fälle, in denen eine Person keine überfälligen Aufgaben hat, und weist 0 einen # Late-Wert zu. Dadurch erhalten Sie eine umfassende und genaue Zusammenfassung.

Das obige ist der detaillierte Inhalt vonWie kombiniere ich zwei SELECT-Abfragen, um Aufgaben und verspätete Aufgaben für jeden Einzelnen 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