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)