Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment éviter les erreurs les fonctions d'agrégation ne sont pas autorisées dans WHERE

Remplacez WHERE clause avec HAVING , comme ceci :

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 est similaire à WHERE , c'est-à-dire que les deux sont utilisés pour filtrer les enregistrements résultants mais HAVING est utilisé pour filtrer sur les données agrégées (lorsque GROUP BY est utilisé).