Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menggabungkan Kiraan Tugasan dan Tugasan Lewat untuk Individu Menggunakan SQL Joins?

Bagaimana untuk Menggabungkan Kiraan Tugasan dan Tugasan Lewat untuk Individu Menggunakan SQL Joins?

Barbara Streisand
Lepaskan: 2025-01-08 22:37:44
asal
879 orang telah melayarinya

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

Menggabungkan Data daripada Berbilang Pertanyaan SQL

Pengurusan pangkalan data selalunya memerlukan penyepaduan data daripada pelbagai sumber atau jadual. Kaedah biasa ialah menggunakan operasi JOIN SQL untuk menggabungkan hasil daripada berbilang SELECT pernyataan.

Contoh ini menunjukkan cara menggabungkan data daripada dua pertanyaan: satu mengira jumlah tugas dan satu lagi mengira tugas tertunggak untuk setiap individu. Matlamatnya adalah untuk membuat jadual yang menunjukkan kiraan tugas setiap individu dan kiraan tugas tertunggak.

Pertanyaan pertama mengira jumlah kiraan tugas setiap individu:

<code class="language-sql">SELECT ks, COUNT(*) AS "Total Tasks" FROM Table GROUP BY ks</code>
Salin selepas log masuk

Ini menghasilkan jadual dengan ks (pengecam individu) dan Total Tasks.

Pertanyaan kedua mengira tugas tertunggak setiap individu:

<code class="language-sql">SELECT ks, COUNT(*) AS "Overdue Tasks" FROM Table WHERE Age > Palt GROUP BY ks</code>
Salin selepas log masuk

Ini menjana jadual dengan ks dan Overdue Tasks.

Untuk menggabungkan hasil carian ini, LEFT JOIN digunakan. Ini memastikan semua individu daripada pertanyaan pertama disertakan, walaupun mereka tidak mempunyai tugas tertunggak.

Pertanyaan gabungan ialah:

<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>
Salin selepas log masuk

COALESCE mengendalikan kes di mana individu kekurangan tugas tertunggak, menggantikan NULL dengan 0.

Jadual akhir memaparkan ks, Total Tasks dan Overdue Tasks untuk setiap individu.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Kiraan Tugasan dan Tugasan Lewat untuk Individu Menggunakan SQL Joins?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan