집 >데이터 베이스 >MySQL 튜토리얼 >SUM()을 사용하여 MySQL에서 승인된 댓글을 정확하게 계산하는 방법은 무엇입니까?
MySQL 쿼리에서 IF 조건으로 계산
귀하의 목표는 뉴스 기사에 대해 승인된 댓글 수를 검색하는 것입니다. 그러나 현재 쿼리는 특정 기사에 대한 댓글이 없더라도 댓글 열에 대해 최소값 1을 반환합니다.
이 문제를 해결하려면 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() 함수는 모든 TRUE 표현식을 1로 평가하고 FALSE 표현식을 0으로 평가하여 효과적으로 반환합니다. 승인된 총 댓글 수입니다.
이 업데이트된 쿼리는 이제 정확한 개수를 제공하여 각 뉴스 기사에 승인된 댓글이 있는지 여부를 보여줍니다.
위 내용은 SUM()을 사용하여 MySQL에서 승인된 댓글을 정확하게 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!