oracle多行数据拼成一行
来源:互联网 发布:知乎日报 for mac dmg 编辑:程序博客网 时间:2024/06/18 04:34
Oracle一列的多行数据拼成一行显示字符
oracle 提供了两个函数WMSYS.WM_CONCAT 和 ListAgg函数。
先介绍:WMSYS.WM_CONCAT
例:
id name
1 aa
2 bb
3 cc
要的结果是"aa,bb,cc"
select WMSYS.WM_CONCAT(a.name) from user a
这样的话,查询出的结果:"aa,bb,cc"
分隔符如果不需要用英文的逗号,需要改成别的符号比如分号的,可以用下面的方法替换下:
select replace(WMSYS.WM_CONCAT(a.name),',',';') from user a
结果:"aa;bb;cc"
======================================================================
ListAgg函数
listagg函数的语法结构如下:
LISTAGG( [,]) WITHIN GROUP (ORDER BY ) [OVER (PARTITION BY )]
listagg虽然是聚合函数,但可以提供分析功能(比如可选的OVER()子句)。使用listagg中,下列中的元素是必须的:
•需要聚合的列或者表达式
•WITH GROUP 关键词
•分组中的ORDER BY子句
例子:
DEPTNO ENAME
--------- ----------
10 CLARK
10 KING
10 MILLER
20 ADAMS
20 FORD
20 JONES
按照DEPTNO字段分组,对结果集进行字符串聚合,结果如下:
DEPTNO AGGREGATED_ENAMES
--------- -------------------------
10 CLARK,KING,MILLER
20 ADAMS,FORD,JONES
SQL:
SELECT deptno,LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS employees FROM emp GROUP BY deptno;
0 0
- oracle多行数据拼成一行
- Oracle一列的多行数据拼成一行显示字符
- (转)Oracle一列的多行数据拼成一行显示字符
- (转)Oracle一列的多行数据拼成一行显示字符
- ORACLE:一列的多行数据拼成字符串
- Oracle多行数据显示为一行
- oracle多行数据合并成一行
- oracle 多行数据并做一行
- Oracle 多行数据合并成一行
- MySQL多行拼成一行
- ORACLE多行数据转为一行以,连接
- oracle 将多行数据放在同一行
- oracle 多行数据结合成一行 sql编写
- oracle查询多行数据合并成一行数据!
- oracle查询多行数据合并成一行数据
- oracle一行数据转换成多行数据
- oracle查询多行数据合并成一行数据
- oracle 列转行 多行数据转为一行
- 两个驱动程序安装错误
- Android自定义控件——仿ios开关按钮
- Web.xml配置详解之context-param
- 通过SSIS实现Oracle与Sqlserver数据库间的数据同步,并定时执行同步任务
- QML类型说明-JumpListDestination
- oracle多行数据拼成一行
- 使用ssh端口映射
- 开始使用Mac OS X——写给Mac新人
- Android SDK Manager更新时”https://dl-ssl.google.com refused“异常处理办法按win微标键+R。输入C:\WINDOWS\system32\drive
- hdu 5000 Clone(dp)
- 使用dom4j操作xml文件
- spring jdbcTemplate
- spring定时器Quartz
- GC垃圾收集器 C#