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的wm_concat函数实现行转列

oracle行转列和列转行(pivot 和 unpivot 函数,wm_concat函数 )

SQL Server 动态行转列(参数化表名分组列行转列字段字段值)

SQL Server 动态行转列(参数化表名分组列行转列字段字段值)

SQL Server 动态行转列(参数化表名分组列行转列字段字段值)

SQL语句实现行转列