Oracle中使用WMSYS.WM_CONCAT函数进行多行转列
原数据:
rank name
AA NAME1
AA NAME2
AA NAME3
BB NAME4
BB NAME5
SQL> select t.rank,wmsys.wm_concat(t.name) from table_name t
group by t.rank;
实现的效果是:会先按rank分组,将分组后的name以“,”按组合并为一列。
结果如下:
rank name
AA NAME1,NAME2,NAME3
BB NAME4,NAME5
原数据:
rank name
AA NAME1
AA NAME2
AA NAME3
BB NAME4
BB NAME5
SQL> select t.rank,wmsys.wm_concat(t.name) from table_name t
group by t.rank;
实现的效果是:会先按rank分组,将分组后的name以“,”按组合并为一列。
结果如下:
rank name
AA NAME1,NAME2,NAME3
BB NAME4,NAME5