MySQL: Uso inválido da função de grupo
Eu estou usando o MySQL. Aqui está o meu esquema:
Fornecedores (sid: inteiro, sname: string, endereço string)
Peças (pid: inteiro, pname: string, cor: string)
Catálogo(sid: número inteiro, pid: número inteiro, custo: real)
(as chaves primárias estão em negrito)
Estou tentando escrever uma consulta para selecionar todas as peças feitas por pelo menos dois fornecedores:
-- Find the pids of parts supplied by at least two different suppliers.
SELECT c1.pid -- select the pid
FROM Catalog AS c1 -- from the Catalog table
WHERE c1.pid IN ( -- where that pid is in the set:
SELECT c2.pid -- of pids
FROM Catalog AS c2 -- from catalog
WHERE c2.pid = c1.pid AND COUNT(c2.sid) >= 2 -- where there are at least two corresponding sids
);
Primeiro, eu vou fazer isso da maneira certa?
Em segundo lugar, recebo este erro:
1111 - Uso inválido da função de grupo
O que estou fazendo errado?