MySQL:使用「SUM IF」和「COUNT IF」進行條件聚合
SUM 和COUNT 等聚合函數對於匯總資料至關重要MySQL。但是,如果您需要對聚合應用條件怎麼辦?這就是條件聚合發揮作用的地方。
考慮一個場景,其中您有一個包含兩列的表:「小時」和「種類」。您想要根據對應的「kind」值是否為1來對「hour」值進行計數和求和。僅靠傳統的聚合函數無法處理此問題。
為了解決這個問題,MySQL 提供了 CASE 語句,它允許您定義聚合的自訂條件。以下是使用 CASE 語句修改後的查詢:
SELECT count(id), SUM(hour) as totHour, SUM(case when kind = 1 then 1 else 0 end) as countKindOne
在此查詢中,CASE 語句檢查 'kind' 值是否等於 1。如果為 true,則傳回 1;如果為,則傳回 1。否則返回 0。然後使用 SUM() 函數對結果求和,統計 'kind' 等於 1 的出現次數。
透過使用條件聚合和 CASE 語句,可以有效地過濾和聚合您的資料是基於特定標準。這種強大的技術為 MySQL 中的資料分析和操作開啟了廣泛的可能性。
以上是如何在 MySQL 中使用條件聚合根據特定條件對值進行計數和求和?的詳細內容。更多資訊請關注PHP中文網其他相關文章!