【发布时间】:2016-11-10 17:44:40
【问题描述】:
如何根据主要排序对第二列进行排序。让我们说...
select Customer, Status, count(*) as Qty
from Inventory
group by Customer, Status
order by count(*) desc
返回
Customer | Status | Qty
-------------------------------
102 | 2 | 500
101 | 1 | 400
102 | 1 | 300
101 | 2 | 200
102 | 3 | 100
数量排序后如何将客户分组?我希望 Qty 是我的主要排序,而 Customer 是次要的。
Customer | Status | Qty
-------------------------------
102 | 2 | 500
102 | 1 | 300
102 | 3 | 100
101 | 1 | 400
101 | 2 | 200
谢谢!
编辑:count(*) 后忘记了 desc
【问题讨论】:
-
您可以按多个字段排序。
-
@HunterMcMillen 问题是如果我执行“按数量排序(),客户”那么它什么都不做,因为数量优先。但是,如果我执行“按客户订购,计数()”,那么客户会按我想要的方式列出,但最高数量不会排在首位。我觉得我看到了一种订购和组合的方法,但我就是找不到。
-
在
order by count(*) desc中尝试使用3而不是count(*) -
@Tek 我更新的答案对你有用。
标签: sql sql-server sql-order-by