Count with IF condition in MySQL query
Use sum() in place of count() Try below: 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