Maison >base de données >tutoriel mysql >Comment compter avec précision les commentaires approuvés dans MySQL à l'aide de SUM() ?

Comment compter avec précision les commentaires approuvés dans MySQL à l'aide de SUM() ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-08 00:33:11223parcourir

How to Accurately Count Approved Comments in MySQL Using SUM()?

Comptage avec la condition IF dans la requête MySQL

Votre objectif est de récupérer le nombre de commentaires approuvés pour les articles d'actualité. Cependant, votre requête actuelle renvoie une valeur minimale de 1 pour la colonne des commentaires, même s'il n'existe aucun commentaire pour un article particulier.

Pour résoudre ce problème, remplacez la fonction count() par sum() dans votre requête. Entrons dans les détails :

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 

Comment ça marche :

La fonction sum() évalue chaque expression VRAIE à 1 et les expressions FAUX à 0, renvoyant effectivement le nombre total de commentaires approuvés.

Cette requête mise à jour fournit désormais des décomptes précis, indiquant si chaque article d'actualité a approuvé ou non des commentaires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn