как подсчитать количество записей в таблице с группировкой по полю
есть таблица director (id, name) и movie (id, name, directorid, year). Задача вывести всех директоров, снявших более 3-ех фильмов. Пробую так:
SELECT * FROM director WHERE (SELECT COUNT(*) FROM movie WHERE movie.directorid = director.id) > 3
Правильно ли я делаю?
Ответы (1 шт):
Автор решения: 0xdb
→ Ссылка
Не совесем правильно. Сделайте так:
SELECT * FROM director
WHERE id IN (
SELECT directorid
FROM movie
GROUP BY directorid
HAVING COUNT(DISTINCT name) > 3
)