Мне нужно вывести топ 5 названий комнат(таблица rooms) с помощью одного SQL запроса. Топ измеряется количеством уникальных пользователей(из таблицы publications), оставивших хоть одну публикацию в комнате.
Структура таблиц:
1. publications
------------------------------------------------------
id | author_id | name_room | msg | date_ |
------------------------------------------------------
2. rooms
-------------------------------------------------
id | name | author_id | date_ | title | descr |
-------------------------------------------------
Пытался сделать так:
SELECT name, (SELECT COUNT(DISTINCT author_id) FROM publications WHERE
name_room = rooms_.name) AS count FROM rooms_ ORDER BY count DESC LIMIT 5
и так :
SELECT name_room, COUNT(DISTINCT author_id) AS count FROM publications ORDER BY count desc limit 5
Но данные способы не работают. Как можно это реализовать?