首頁 >資料庫 >mysql教程 >如何使用 SUM() 準確統計 MySQL 查詢中的條件實例?

如何使用 SUM() 準確統計 MySQL 查詢中的條件實例?

Patricia Arquette
Patricia Arquette原創
2024-11-28 09:29:11802瀏覽

How to Accurately Count Conditional Instances in MySQL Queries Using SUM()?

在 MySQL 查詢中使用 IF 條件統計評論

在某些場景下,需要根據預定義條件。例如,您可能需要計算與已批准顯示的新聞文章相關的評論數。然而,當嘗試使用 MySQL 中的 COUNT() 函數完成此任務時,會出現一個常見問題。

COUNT() 的問題

COUNT() 函數MySQL 中傳回符合指定條件的行數。但是,在計算特定實例(例如已核准的註解)時,即使不存在符合的行,透過指定預設值 1 也可能會產生不準確的結果。

要解決此問題並獲得精確的計數,建議使用 SUM() 函數代替 COUNT()。

解決方案使用SUM()

SUM() 函數透過將表中所有行的指定表達式的值求和來運算。與 IF 條件結合使用時,它可以準確地統計滿足特定條件的實例數量。

例如,以下MySQL 查詢利用SUM() 函數來統計新聞文章的核准註解:

SELECT
    ccc_news . * ,
    SUM(if(ccc_news_comments.id = 'approved', 1, 0)) AS comments
FROM
    ccc_news
    LEFT JOIN
        ccc_news_comments
    ON
        ccc_news_comments.news_id = ccc_news.news_id
WHERE
    `ccc_news`.`category` = 'news_layer2'
    AND `ccc_news`.`status` = 'Active'
GROUP BY
    ccc_news.news_id
ORDER BY
    ccc_news.set_order ASC
LIMIT 20

透過使用SUM() 函數,此查詢可確保註解列準確顯示已核准評論的數量,從而防止將預設值1 錯誤地分配給具有以下內容的行:沒有匹配的評論。

以上是如何使用 SUM() 準確統計 MySQL 查詢中的條件實例?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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