Contar con la condición if en la consulta mysql

Tengo dos tablas, una para noticias y otra para comentarios y quiero obtener el recuento de los comentarios cuyo estado se ha establecido como aprobado.

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 

Pero el problema con esta consulta es que el valor mínimo que se obtiene para la columna de comentarios es 1, ya sea que exista algún comentario correspondiente a esa noticia o no.

Cualquier ayuda sería muy apreciable.

Respuestas a la pregunta(8)

Su respuesta a la pregunta