表 SSTEST columns TYPE A char(1) B char(1) SNNT INT所有的数据 A B SNNT 1 d 4 1 e 6 1 f 5 1 g 7 1 h 9 1 i 8 1 a 2 1 b 1 1 c 3 2 a 2 2 d 1 3 c 1 3 g 2 // 执行语句select t.a,wmsys.wm_concat(b) b from (select * from sstest order by a,snnt asc) t group by a 结果: A B 1 b,a,c,f,g,h,i,e,d 2 d,a 3 c,g //// 但对于 A=1的情况,我需要的 B应该是 b,a,c,d,f,e,g,i,h 对应snnt的123456789
我试过,排序后有些会按照顺序的,有些还是不会应该是和GROUP by 自己会排下序有关
select distinct * from (select t.a, wmsys.wm_concat(b) over(partition by a ) bb from sstest t order by a,snnt asc) order by a 结果 A BB 1 b,a,c,d,f,e,g,i,h 2 d,a 3 c,g 成功了
wmsys.wm_concat(b) over(partition by a) -- 还能这样用,我靠。
columns TYPE
A char(1)
B char(1)
SNNT INT所有的数据
A B SNNT
1 d 4
1 e 6
1 f 5
1 g 7
1 h 9
1 i 8
1 a 2
1 b 1
1 c 3
2 a 2
2 d 1
3 c 1
3 g 2
//
执行语句select t.a,wmsys.wm_concat(b) b from (select * from sstest order by a,snnt asc) t group by a
结果:
A B
1 b,a,c,f,g,h,i,e,d
2 d,a
3 c,g
////
但对于 A=1的情况,我需要的 B应该是 b,a,c,d,f,e,g,i,h 对应snnt的123456789
结果
A BB
1 b,a,c,d,f,e,g,i,h
2 d,a
3 c,g
成功了
wmsys.wm_concat(b) over(partition by a)
-- 还能这样用,我靠。