@fire64
Разработчик Unity

Как сделать сортировку данных одной таблицы, подзапросом в другую?

Помогите сформировать запросы к базе.

Есть две таблицы:
users - в которой хранятся данные пользователей.
Там есть поля id, username и прочие.

Вторая таблица:
fileshare в которой хранятся данные об отправленных пользователями данных.
Там есть поля: id, userid, dateupload.
dateupload - это поле в формате int в котором записана дата отправки в формате unixtime

userid - это соответственно id пользователя из таблицы users

Задача, сделать сортировку пользователей, по количеству отправленных файлов и второй запрос сделать сортировку пользователей, в порядке отправки файлов, т.е. тот кто недавно отправил в начале списка, те кто давно отправлял или вовсе ничего не отправлял в конце.
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
iMedved2009
@iMedved2009
Не люблю людей
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;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы