在 MySQL 查詢中使用 IF 條件計算評論數
利用 SQL IF確定每篇新聞文章的批准評論數
問題:
之前的查詢獲取了評論計數,但即使沒有與新聞文章相關的批准評論,它也回傳最小值 1 .
解:
修正此問題,將 IF 條件中的 count() 函數替換為 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() 函數,查詢現在可以正確計算每篇新聞文章的批准評論數,如果沒有批准評論,則傳回 0。這可確保評論計數結果準確且一致。
以上是如何使用IF條件準確統計MySQL中核准的評論?的詳細內容。更多資訊請關注PHP中文網其他相關文章!