Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL:uso inválido da função de grupo


Você precisa usar HAVING , não WHERE .

A diferença é:o WHERE A cláusula filtra quais linhas o MySQL seleciona. Então O MySQL agrupa as linhas e agrega os números para seu COUNT função.

HAVING é como WHERE , só que acontece depois o COUNT valor foi calculado, então funcionará como você espera. Reescreva sua subconsulta como:
(                  -- 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)