Kommentare mit IF-Bedingungen in MySQL-Abfragen zählen
Bestimmen Sie die Anzahl der genehmigten Kommentare für jeden Nachrichtenartikel, indem Sie SQL-IF-Bedingungen nutzen.
Problem:
Eine vorherige Abfrage hat einen Kommentar abgerufen zählt, aber selbst wenn mit einem Nachrichtenartikel keine genehmigten Kommentare verknüpft waren, wurde ein Mindestwert von 1 zurückgegeben.
Lösung:
Um dieses Problem zu beheben, ersetzen Sie die Funktion count() mit der Funktion sum() in der IF-Bedingung. Hier ist die überarbeitete 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
Durch die Verwendung der sum()-Funktion zählt die Abfrage jetzt korrekt die Anzahl der genehmigten Kommentare für jeden Nachrichtenartikel und gibt 0 zurück, wenn keine genehmigten Kommentare vorhanden sind. Dies gewährleistet genaue und konsistente Ergebnisse bei der Kommentarzählung.
Das obige ist der detaillierte Inhalt vonWie kann ich genehmigte Kommentare in MySQL mithilfe von IF-Bedingungen genau zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!