Maison > base de données > tutoriel mysql > Pourquoi ma requête MySQL COUNT() renvoie-t-elle toujours au moins 1 commentaire ?

Pourquoi ma requête MySQL COUNT() renvoie-t-elle toujours au moins 1 commentaire ?

Linda Hamilton
Libérer: 2024-12-01 16:32:14
original
195 Les gens l'ont consulté

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

Comptage des commentaires avec la condition IF de MySQL

Problème :

Vous avez créé une requête pour compter les commentaires approuvés pour les actualités articles, mais il renvoie toujours un nombre minimum de 1, même pour les articles sans autorisation commentaires.

Solution :

Pour résoudre ce problème, remplacez la fonction COUNT() par la fonction SUM() dans votre requête. SUM() accumule les valeurs, garantissant un nombre précis de commentaires approuvés.

Voici la requête révisée :

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
Copier après la connexion

En utilisant SUM(), la requête calcule désormais avec précision le nombre de commentaires approuvés. associé à chaque article d'actualité.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal