sql >> Database >  >> RDS >> Mysql

Hoe u foutaggregatiefuncties kunt vermijden, zijn niet toegestaan ​​in WHERE

Vervang WHERE clausule met HAVING , zoals dit:

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 lijkt op WHERE , dat wil zeggen dat beide worden gebruikt om de resulterende records te filteren, maar HAVING wordt gebruikt om te filteren op geaggregeerde gegevens (wanneer GROUP BY wordt gebruikt).



  1. Dumpbestand MySQL 5.6.10

  2. mysqli:kan het meerdere queries in één statement voorbereiden?

  3. Hoe mysql-gegevens in aflopende volgorde op te halen?

  4. Een bibliotheekgegevensmodel