Vous devez utiliser HAVING
, pas WHERE
.
La différence est :le WHERE
la clause filtre les lignes sélectionnées par MySQL. Alors MySQL regroupe les lignes et agrège les nombres pour votre COUNT
fonction.
HAVING
est comme WHERE
, seulement cela arrive après le COUNT
valeur a été calculée, donc cela fonctionnera comme prévu. Réécrivez votre sous-requête comme :
( -- 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)