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

MySQL junta e COUNT(*) de outra tabela


MySQL usa HAVING declaração para esta tarefa.

Sua consulta ficaria assim:
SELECT g.group_id, COUNT(m.member_id) AS members
FROM groups AS g
LEFT JOIN group_members AS m USING(group_id)
GROUP BY g.group_id
HAVING members > 4

exemplo quando as referências têm nomes diferentes
SELECT g.id, COUNT(m.member_id) AS members
FROM groups AS g
LEFT JOIN group_members AS m ON g.id = m.group_id
GROUP BY g.id
HAVING members > 4

Além disso, certifique-se de definir índices dentro de seu esquema de banco de dados para chaves que você está usando em JOINS, pois isso pode afetar o desempenho do site.