Oracle36WM_CONCAT 行转列
Posted huashengweilong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle36WM_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
以上是关于Oracle36WM_CONCAT 行转列的主要内容,如果未能解决你的问题,请参考以下文章
oracle行转列和列转行(pivot 和 unpivot 函数,wm_concat函数 )
SQL Server 动态行转列(参数化表名分组列行转列字段字段值)
SQL Server 动态行转列(参数化表名分组列行转列字段字段值)