首頁 >資料庫 >mysql教程 >如何組合兩個 SELECT 查詢來統計每個人的任務和延遲任務?

如何組合兩個 SELECT 查詢來統計每個人的任務和延遲任務?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-08 22:32:43778瀏覽

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

組合 SELECT 查詢進行全面的任務分析

資料庫查詢通常需要組合多個來源的資料以獲得完整的圖片。 這涉及連接多個 SELECT 語句的結果——這是許多程式設計環境中的關鍵技術。

考慮一個涉及具有截止日期和個人分配的任務資料庫的場景。 目標是產生一份報告,顯示每個人、他們的任務總數以及逾期任務的數量。

這可以使用兩個單獨的 SELECT 查詢來實現:一個用於計算每個人的任務,另一個用於計算過期任務(其中 Age 超過預定義的截止日期 PALT)。 為了合併這些信息,使用了 LEFT JOIN。 這可確保包含第一個查詢中的所有個人,以及第二個查詢中符合的過期任務計數。連線基於 ks 列(個人識別碼)。

組合查詢如下:

<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>

輸出是一個表格,列出每個人的ks、他們的任務總數 (# Tasks) 以及過期任務的數量 (# Late)。 COALESCE 處理個人沒有逾期任務的情況,為 0 分配一個 # Late 值。 這提供了全面而準確的總結。

以上是如何組合兩個 SELECT 查詢來統計每個人的任務和延遲任務?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn