首页 > 解决方案 > 从其他数据库中按计数 id 获取排序项目

问题描述

我有英雄的主表,[id,name],我有所有英雄技能的第二张表[hero_id,skill_id(每个英雄唯一),name(技能名称)]。

我想从按技能编号排序的主表中获取所有数据。

例子:

主要的

[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]

或下降

标签: sqlsqlite

解决方案


使用joingroup 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;

推荐阅读