문제:
뉴스에 대해 승인된 댓글을 계산하는 쿼리를 작성했습니다. 기사이지만 승인되지 않은 기사의 경우에도 항상 최소 개수 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!