Как сделать сортировку данных одной таблицы, подзапросом в другую?
Помогите сформировать запросы к базе.
Есть две таблицы:
users - в которой хранятся данные пользователей.
Там есть поля id, username и прочие.
Вторая таблица:
fileshare в которой хранятся данные об отправленных пользователями данных.
Там есть поля: id, userid, dateupload.
dateupload - это поле в формате int в котором записана дата отправки в формате unixtime
userid - это соответственно id пользователя из таблицы users
Задача, сделать сортировку пользователей, по количеству отправленных файлов и второй запрос сделать сортировку пользователей, в порядке отправки файлов, т.е. тот кто недавно отправил в начале списка, те кто давно отправлял или вовсе ничего не отправлял в конце.
select * from users join (select userid, count(*) as count from fileshare group by userid) as t on users.id = t.userid order by count desc;
select * from users left join (select userid, max(dateupload) as dateupload from fileshare group by userid) as t on users.id = t.userid order by dateupload desc;