4
MySQLクエリのIF条件でカウントする
2つのテーブルがあります。1つはニュース用で、もう1つはコメント用で、ステータスが承認済みに設定されているコメントの数を取得したいと思います。 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であることです。 どんな助けも高く評価されます。
115
mysql
join
if-statement
count