Rumah >pangkalan data >tutorial mysql >Bagaimana Mengira Komen Yang Diluluskan dengan Tepat dalam MySQL Menggunakan SUM()?

Bagaimana Mengira Komen Yang Diluluskan dengan Tepat dalam MySQL Menggunakan SUM()?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-08 00:33:11184semak imbas

How to Accurately Count Approved Comments in MySQL Using SUM()?

Mengira dengan Keadaan IF dalam Pertanyaan MySQL

Objektif anda adalah untuk mendapatkan semula kiraan ulasan yang diluluskan untuk artikel berita. Walau bagaimanapun, pertanyaan semasa anda mengembalikan nilai minimum 1 untuk lajur ulasan, walaupun tiada ulasan wujud untuk artikel tertentu.

Untuk menyelesaikan isu ini, tukar fungsi count() dengan sum() dalam pertanyaan anda. Mari kita selami butirannya:

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 

Cara Ia Berfungsi:

Fungsi sum() menilai setiap ungkapan BENAR kepada 1 dan ungkapan FALSE kepada 0, dengan berkesan mengembalikan jumlah bilangan komen yang diluluskan.

Pertanyaan yang dikemas kini ini kini memberikan kiraan yang tepat, menunjukkan sama ada setiap artikel berita telah meluluskan ulasan atau tidak.

Atas ialah kandungan terperinci Bagaimana Mengira Komen Yang Diluluskan dengan Tepat dalam MySQL Menggunakan SUM()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn