問題:
您設計了一個查詢來計算已批准的新聞評論文章,但它始終返回最小計數1,即使是未經批准的文章
解決方案:
要解決此問題,請在查詢中將COUNT() 函數替換為SUM() 函數。 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(),查詢現在可以準確計算已批准評論的數量與每篇新聞文章相關。
以上是為什麼我的 MySQL COUNT() 查詢總是會傳回至少 1 則評論?的詳細內容。更多資訊請關注PHP中文網其他相關文章!