请教大神 SQL 排序问题。难倒我了

2017 年 10 月 20 日
 nestlake
请教大神
有一个数据表
city company
合肥 a
上海 b
武汉 c
合肥 d
杭州 e
合肥 f
武汉 g

现在想实现如下排序,怎么弄? group by 好像不行
合肥 a
合肥 d
合肥 f
武汉 c
武汉 g
杭州 e
上海 b

请教大神,SQL 该怎么写??谢谢😘😚😗😙
5650 次点击
所在节点    问与答
50 条回复
tomwen
2017 年 10 月 20 日
select city, company from table order by city,company;
tigiyj
2017 年 10 月 20 日
select * from table order by city asc,company asc
nestlake
2017 年 10 月 20 日
@tomwen 不对,city 出现的次数从多到少排序
nestlake
2017 年 10 月 20 日
@tigiyj city 次数未参与排序
nestlake
2017 年 10 月 20 日
继续坐等大神解答,感谢
nestlake
2017 年 10 月 20 日
目前,oschina 尚无人能解
shakoon
2017 年 10 月 20 日
第一列根本不知道是什么顺序
nestlake
2017 年 10 月 20 日
@shakoon 相同出现次数
nestlake
2017 年 10 月 20 日
合肥 3 次,武汉 2 次。。。
taifu
2017 年 10 月 20 日
刚学 sql,话说 2 楼写的是不是对的。
nestlake
2017 年 10 月 20 日
坐等感受出现啊
nestlake
2017 年 10 月 20 日
万能的 v2
nestlake
2017 年 10 月 20 日
@nestlake 高手
Jackliu91
2017 年 10 月 20 日
@nestlake 既然要用到次数 先 group by 然后 jion 再 order by 可以。
tigiyj
2017 年 10 月 20 日
SELECT
p1.city,
p1.company
FROM
table1 AS p1
LEFT JOIN (
SELECT
city,
count(city) AS num
FROM
table1
GROUP BY
city
) AS p2 ON p1.city = p2.city
ORDER BY
p2.num DESC,
p1.company ASC
写的比较糙
quickma
2017 年 10 月 20 日
说实话,你见过 SQL 语句根据数量排序么?
nestlake
2017 年 10 月 20 日
@tigiyj 高手终于出现了,感谢感谢😘😚😗😙
nestlake
2017 年 10 月 20 日
@x7395759 看你的楼上
quickma
2017 年 10 月 20 日
@nestlake 这种 sql 的效率,无话可说,当然如果单纯要用 sql 实现,也行吧。
nestlake
2017 年 10 月 20 日
@x7395759 高手有无其他更好的解决方案

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/399120

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX