Rumah >pangkalan data >tutorial mysql >Bagaimana Mengira Komen Yang Diluluskan dengan Tepat dalam MySQL Menggunakan 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!