Heim > Datenbank > MySQL-Tutorial > Wie kann ich genehmigte Kommentare in MySQL korrekt zählen, um ein Minimum von 1 zu vermeiden?

Wie kann ich genehmigte Kommentare in MySQL korrekt zählen, um ein Minimum von 1 zu vermeiden?

Barbara Streisand
Freigeben: 2024-11-28 03:48:13
Original
946 Leute haben es durchsucht

How Can I Correctly Count Approved Comments in MySQL to Avoid a Minimum of 1?

Problem mit der Kommentaranzahl mit der IF-Bedingung in der MySQL-Abfrage lösen

Sie stehen vor einem Problem, bei dem Ihre MySQL-Abfrage durchweg eine Mindestanzahl an Kommentaren zurückgibt von 1, auch wenn für bestimmte Nachrichtenartikel keine genehmigten Kommentare vorliegen. Um dies zu beheben, untersuchen wir einen überarbeiteten Ansatz.

Ihre Abfrage verwendet die Funktion count(), um genehmigte Kommentare zu zählen, aber sie liefert grundsätzlich einen Mindestwert von 1 für jede Zeile, unabhängig davon, ob ein Kommentar vorhanden ist. Die Lösung liegt darin, stattdessen die Funktion sum() zu verwenden.

Betrachten Sie die folgende modifizierte Abfrage:

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
Nach dem Login kopieren

In dieser überarbeiteten Version verwenden wir die Funktion sum() innerhalb von if() Bedingter Ausdruck der Anweisung. Es berechnet die Gesamtzahl der Einsen für genehmigte Kommentare und der Nullen für nicht genehmigte Kommentare und liefert so effektiv eine genaue Liste der genehmigten Kommentare für jeden Nachrichtenartikel.

Das obige ist der detaillierte Inhalt vonWie kann ich genehmigte Kommentare in MySQL korrekt zählen, um ein Minimum von 1 zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage