【Oracle】【36】WM_CONCAT 行转列
前言:
有这样的表(product),需要做分类统计
id | name | num |
type |
1 | 苹果 | 1 | 水果 |
2 | 梨子 | 2 | 水果 |
3 | 西瓜 | 4 | 水果 |
4 | 本子 | 1 | 文具 |
5 | 铅笔 | 3 | 文具 |
正文:
1,需要按type分类
目标:
水果 | 苹果,梨子,西瓜 |
文具 | 本子,铅笔 |
语句:
select type, wm_concat(name) name from product group by type
2,按type分类,并且获得对应的个数
目标:
水果 | 苹果(1) ,梨子(2),西瓜(4) |
文具 | 本子(1),铅笔(3) |
语句:
select type, wm_concat(name || '(' || num || ')') name from product group by type
参考博客:
Oracle wm_concat()函数 - 浅雨凉 - 博客园
https://www.cnblogs.com/qianyuliang/p/6649983.html