【发布时间】:2021-06-26 01:44:24
【问题描述】:
我的桌子是这样的
Color Order
------------
Red 49
Blue 32
Green 80
Green 30
Blue 93
Blue 77
Red 20
Green 54
Red 59
Red 42
Red 81
Green 35
Blue 91
我的查询是
SELECT Color, Count(*) AS Count, STRING_AGG(Order,',') AS AggOrder
FROM MyTable
GROUP BY Color
当我按颜色分组并聚合时,我得到未排序的订单
类似的东西
Color Count AggOrder
------------------------------
Red 5 49,20,59,42,81
Blue 4 32,93,77,91
Green 4 80,30,54,35
问题: AggOrder 是无序的 49,20,59,42,81
我想订购
所以最终结果是
Color Count AggOrder
------------------------------
Red 5 20,42,49,59,81
Blue 4 32,77,91,93
Green 4 30,35,54,80
我试过这个查询
SELECT Color, Count(*) AS Count, STRING_AGG(Order,',') AS AggOrder
FROM MyTable
GROUP BY Color
ORDER BY Order
但这会报错。
知道如何解决这个问题吗?
【问题讨论】:
标签: sql sql-server tsql string-aggregation string-agg