두 개의 테이블이 있는데 하나는 뉴스 용이고 다른 하나는 댓글 용이며 상태가 승인 됨으로 설정된 댓글 수를 가져오고 싶습니다.
SELECT
ccc_news . *,
count(if(ccc_news_comments.id = 'approved', ccc_news_comments.id, 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
그러나이 쿼리의 문제점은 해당 뉴스에 해당하는 댓글이 있는지 여부에 관계없이 댓글 열에 대해 가져 오는 최소값이 1이라는 것입니다.
어떤 도움이라도 대단히 감사하겠습니다.
5
COUNT 대신 SUM을 사용하면 어떻게됩니까?
—
존 선택