отобразить статистику на сайте: общее количество статей; пользователь, который имеет больше всех публикаций; пост на форуме, у которого больше всего комментариев и т.д. Можно ли эту статистику упаковать в один запрос к бд и получить ответ одной таблицей?
Если использовать join'ы, то на примере постов - общее количество постов будет считаться только для того пользователя, который имеет больше всего публикаций, а не общее количество среди всех пользователей. А мне нужно, чтобы я обработал данные в разных таблицах без связи, а после объединил их. Можно ли как-то это сделать?
select distinct users.*, count(posts.id) FROM users
join posts on users.id = posts.owner_id
where users.id = (
select posts.owner_id from posts
group by posts.owner_id
having count(posts.owner_id) = (
select max(rc.count_posts) from (
SELECT count(posts.owner_id) as count_posts FROM posts
group by posts.owner_id
) as rc
)
)
group by users.id