请帮我弄清楚如何得到这样的表格:
ID Name City
-- ---- ----
1 A 2
2 C 1
3 E 3
4 B 2
5 D 2
6 G 3
7 F 2
Run Code Online (Sandbox Code Playgroud)
......像这样排序:
ID Name City
-- ---- ----
1 A 2
4 B 2
5 D 2
7 F 2
3 E 3
6 G 3
2 C 1
Run Code Online (Sandbox Code Playgroud)
换句话说,我希望首先根据城市名称的数量重新排序,然后按名称重新排序.拥有更多名字的城市应该先行.
这应该做的伎俩:
select c.* from c
inner join (
select City, count(*) as cnt from c group by City
) a
on c.City = a.City
order by a.cnt desc, c.name asc
Run Code Online (Sandbox Code Playgroud)
这是SQL小提琴
归档时间: |
|
查看次数: |
113 次 |
最近记录: |