【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

浙公网安备 33010602011771号