Получить отсортированные элементы по количеству идентификаторов из другой базы данных - PullRequest
0 голосов
/ 25 января 2020

У меня есть главная таблица с героями, [id, name], и ​​у меня есть вторая таблица с навыками всех героев [hero_id, skill_id (уникальный для каждого героя), имя (имя навыка)].

Я хочу получить все данные из основной таблицы, отсортированные по номерам навыков.

Пример:

main

[0, Rickimary]
[1, Axega],
[2, Morti]

секунда

[0, 0, Invisibie]
[0, 1, Smoke],
[0, 2, Jump],
[1, 0, Big hit],
[2, 0, Slice],
[2, 1, Froze]

И принимать результаты как

[0, Rickimary],
[2, Marti],
[1, Axage]

или по убыванию

1 Ответ

1 голос
/ 25 января 2020

Используйте join и group by:

select m.name, count(s.skill_id)
from main m left join
     second s
     on m.id = s.hero_id
group by m.id, m.name
order by count(s.skill_id) desc;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...