Здравствуйте! Помогите, пожалуйста, правильно написать MySQL-запрос.
Есть две таблицы.
users:
1. user_id
2. name
3. rating (int)
4. place (int)
subscribes (подписки на пользователей):
1. from_user_id (кто подписался)
2. to_user_id (на кого подписался)
Нужно написать запрос, который будет сортировать пользователей по трем параметрам:
По рейтингу (rating), чем больше рейтинг, тем выше пользователь
По количеству подписчиков, чем больше подписчиков, тем выше пользователь
По месту (place), чем выше место (т.е. чем меньше число), тем выше пользователь
Я написал следующий вариант:
SELECT subscribes.to_user_id, count(subscribes.to_user_id) as cnt, users.*
FROM subscribes, users
WHERE users.user_id = subscribes.to_user_id
GROUP BY subscribes.to_user_id
ORDER BY users.rating DESC, cnt DESC, users.place ASC
И тут все хорошо, сортировка работает, но есть одна загвоздка. Учитываются только пользователи, у которых есть хотя бы один подписчик, остальные не показываются вообще. Я понимаю, с чем это связано — "WHERE users.user_id = subscribes.to_user_id", но как это решить мыслей нет.
Подскажите, пожалуйста, как можно изменить запрос таким образом, чтобы учитывались и пользователи без подписчиков. Спасибо.