Rumah > pangkalan data > tutorial mysql > Mengapa Pertanyaan MySQL COUNT() Saya Sentiasa Kembali Sekurang-kurangnya 1 Komen?

Mengapa Pertanyaan MySQL COUNT() Saya Sentiasa Kembali Sekurang-kurangnya 1 Komen?

Linda Hamilton
Lepaskan: 2024-12-01 16:32:14
asal
191 orang telah melayarinya

Why Does My MySQL COUNT() Query Always Return at Least 1 Comment?

Mengira Komen dengan Syarat IF MySQL

Masalah:

Anda telah membuat pertanyaan untuk mengira komen yang diluluskan untuk berita artikel, tetapi ia sentiasa mengembalikan kiraan minimum 1, walaupun untuk artikel tanpa diluluskan komen.

Penyelesaian:

Untuk menangani isu ini, gantikan fungsi COUNT() dengan fungsi SUM() dalam pertanyaan anda. SUM() mengumpul nilai, memastikan kiraan tepat bagi ulasan yang diluluskan.

Berikut ialah pertanyaan yang disemak:

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
Salin selepas log masuk

Dengan menggunakan SUM(), pertanyaan kini mengira kiraan ulasan yang diluluskan dengan tepat dikaitkan dengan setiap artikel berita.

Atas ialah kandungan terperinci Mengapa Pertanyaan MySQL COUNT() Saya Sentiasa Kembali Sekurang-kurangnya 1 Komen?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan