Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Fehlervermeidung Aggregatfunktionen sind in WHERE nicht erlaubt

Ersetzen Sie WHERE Klausel mit HAVING , etwa so:

SELECT o.ID ,  count(p.CAT)
FROM Orders o
INNER JOIN Products p ON o.P_ID = p.P_ID 
GROUP BY o.ID
HAVING count(p.CAT) > 3;

HAVING ist ähnlich wie WHERE , das heißt, beide werden verwendet, um die resultierenden Datensätze zu filtern, außer HAVING wird verwendet, um aggregierte Daten zu filtern (wenn GROUP BY verwendet wird).