很遗憾,Vertica不允许在LISTAGG中指定顺序。所以你的桌子没有这样的顺序
ID | Names | Values
1 | a,b,c | 3,1,2
2 | b,c,a | 7,9,7
3 | c,a,b | 1,2,3
Values
的排序不正确:它们应该以降序排列,然后Names
字段应该按照Values
字段的顺序重新排序。所以最终结果看起来像
ID | Names | Values
1 | a,c,b | 3,2,1
2 | c,b,a | 9,7,7
3 | b,a,c | 3,2,1
这是一个小例子:实际上,我可以有数百个Names
及其对应的Order
字段。
如何按降序排列用逗号分隔的值,然后按该顺序更新“值”字段?