Трябва да използвате HAVING
, а не WHERE
.
Разликата е:WHERE
клауза филтри, кои редове MySQL избира. След това MySQL групира редовете заедно и обобщава числата за вашия COUNT
функция.
HAVING
е като WHERE
, само това се случва след COUNT
стойността е изчислена, така че ще работи, както очаквате. Пренапишете подзаявката си като:
( -- 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)