ホームページ > データベース > mysql チュートリアル > MySQL COUNT() クエリが常に少なくとも 1 つのコメントを返すのはなぜですか?

MySQL COUNT() クエリが常に少なくとも 1 つのコメントを返すのはなぜですか?

Linda Hamilton
リリース: 2024-12-01 16:32:14
オリジナル
269 人が閲覧しました

Why Does My MySQL COUNT() Query Always Return at Least 1 Comment?

MySQL の IF 条件を使用したコメントのカウント

問題:

ニュースの承認されたコメントをカウントするクエリを作成しましたただし、承認されていない記事であっても、常に最小数 1 が返されます。コメント。

解決策:

この問題に対処するには、クエリ内の COUNT() 関数を SUM() 関数に置き換えます。 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() を使用することで、クエリは承認されたコメントの数を正確に計算するようになりました。各ニュース記事に関連付けられています。

以上がMySQL COUNT() クエリが常に少なくとも 1 つのコメントを返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート