組合 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中文網其他相關文章!