首頁 > 資料庫 > mysql教程 > 如何組合多個SELECT語句來分析任務完成狀況和延遲狀況?

如何組合多個SELECT語句來分析任務完成狀況和延遲狀況?

Linda Hamilton
發布: 2025-01-08 22:41:43
原創
343 人瀏覽過

How Can I Combine Multiple SELECT Statements to Analyze Task Completion and Lateness?

高效率資料分析:組合多個SELECT語句

資料庫查詢通常需要組合來自多個來源的資料或套用多種轉換。 連接多個 SELECT 語句的輸出提供了一種強大的方法來操縱資料並獲得有價值的見解。

考慮一個任務資料庫,其中每筆記錄代表一個任務,包括截止日期 (PALT) 和任務的期限(自開始以來的天數)。如果任務的年齡超過其 PALT,則任務會延遲。 我們的目標是產生一個總表,顯示每個人的總任務數和逾期任務數。

這可以使用兩個單獨的 SELECT 語句來實現:

<code class="language-sql">SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks;</code>
登入後複製

此查詢計算每個人的總任務(由 ks 標識)。

<code class="language-sql">SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks;</code>
登入後複製

此查詢計算每個人遲到的任務數量。

為了組合這些,我們使用 LEFT JOIN:

<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 列連接結果。 COALESCE 處理人員沒有遲到任務的情況,將 NULL 替換為 0。

最終表顯示 ks(人員 ID)、# Tasks(任務總數)和 # Late(遲到任務數,如果沒有則為 0)。這樣可以對各個工作負載和逾期任務的百分比進行徹底分析。

以上是如何組合多個SELECT語句來分析任務完成狀況和延遲狀況?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板