Мне нужно найти количество пользователей:
- , у которых есть один или несколько поклонников
- , у кого два вентилятора
- , у которых три вентилятора
Вот sql, который я разработал, чтобы получить ответ на # 1
SELECT users.id, count(fans.id)
FROM users
JOIN fans on users.id = fans.user_id
GROUP BY users.id
HAVING COUNT(fans.id) > 0
Вышеупомянутый запрос работает, но я получаю все пользовательские записи, а затем вычисляю размер массива.Он имеет ужасную производительность, когда количество пользователей исчисляется тысячами.Как мне выполнить рефакторинг запроса, чтобы я мог получить только количество пользователей?
Я использую mysql, но мне может понадобиться другой проект, использующий postgresql.