sql >> Database >  >> RDS >> Mysql

MySQL:ongeldig gebruik van groepsfunctie

Je moet HAVING . gebruiken , niet WHERE .

Het verschil is:de WHERE clausule filtert welke rijen MySQL selecteert. Dan MySQL groepeert de rijen en aggregeert de getallen voor uw COUNT functie.

HAVING is als WHERE , alleen gebeurt het na de COUNT waarde is berekend, dus het zal werken zoals u verwacht. Herschrijf uw subquery als:

(                  -- where that pid is in the set:
SELECT c2.pid                  -- of pids
FROM Catalog AS c2             -- from catalog
WHERE c2.pid = c1.pid
HAVING COUNT(c2.sid) >= 2)


  1. Voor- en nadelen van het gebruik van SqlCommand Prepare in C#?

  2. Hoe 2 datums in orakel af te trekken om het resultaat in uren en minuten te krijgen

  3. Postgresql:Hoe selecteer ik de top n procent (%) items uit elke groep/categorie

  4. Inleiding tot vergrendelingen