oracle10g中的wm_concat 实现sql查询结果多行转一行
来源:互联网 发布:我的世界手机版龙珠js 编辑:程序博客网 时间:2024/05/19 17:10
wmsys.wm_concat这个函数,它的作用是以','链接字符。
例子如下:
SQL> create table idtable (id number,name varchar2(30));
Table created
SQL> insert into idtable values(10,'ab');
1 row inserted
SQL> insert into idtable values(10,'bc');
1 row inserted
SQL> insert into idtable values(10,'cd');
1 row inserted
SQL> insert into idtable values(20,'hi');
1 row inserted
SQL> insert into idtable values(20,'ij');
1 row inserted
SQL> insert into idtable values(20,'mn');
1 row inserted
SQL> select * from idtable;
ID NAME
---------- ------------------------------
10 ab
10 bc
10 cd
20 hi
20 ij
20 mn
6 rows selected
SQL> select id,wmsys.wm_concat(name) name from idtable
2 group by id;
ID NAME
---------- --------------------------------------------------------------------------------
10 ab,bc,cd
20 hi,ij,mn
SQL> select id,wmsys.wm_concat(name) over (order by id) name from idtable;
ID NAME
---------- --------------------------------------------------------------------------------
10 ab,bc,cd
10 ab,bc,cd
10 ab,bc,cd
20 ab,bc,cd,hi,ij,mn
20 ab,bc,cd,hi,ij,mn
20 ab,bc,cd,hi,ij,mn
6 rows selected
SQL> select id,wmsys.wm_concat(name) over (order by id,name) name from idtable;
ID NAME
---------- --------------------------------------------------------------------------------
10 ab
10 ab,bc
10 ab,bc,cd
20 ab,bc,cd,hi
20 ab,bc,cd,hi,ij
20 ab,bc,cd,hi,ij,mn
6 rows selected
个人觉得这个用法比较有趣.
SQL> select id,wmsys.wm_concat(name) over (partition by id) name from idtable;
ID NAME
---------- --------------------------------------------------------------------------------
10 ab,bc,cd
10 ab,bc,cd
10 ab,bc,cd
20 hi,ij,mn
20 hi,ij,mn
20 hi,ij,mn
6 rows selected
SQL> select id,wmsys.wm_concat(name) over (partition by id,name) name from idtable;
ID NAME
---------- --------------------------------------------------------------------------------
10 ab
10 bc
10 cd
20 hi
20 ij
20 mn
6 rows selected
- oracle10g中的wm_concat 实现sql查询结果多行转一行
- SqlServer实现oracle10g的 wmsys.wm_concat()
- SQL:如何把多行查询结果,作为一行返回
- SQL SERVER 合并重复行,行列转换(sql server2000 里面如何实现oracle10g的 wmsys.wm_concat() 的功能?)
- mysql实现多行查询结果合并成一行
- SqlServer实现oracle10g的 wmsys.wm_concat()/使用自连接、for xml path('')和stuff合并显示多行数据到一行中
- postgresql 查询结果 多行变一行
- sql中的group_concat 和 oracle中的wm_concat
- Hibernate实现dao自定义sql查询结果
- oracle10g sql查询基础笔记
- SQL Server 中 ROR XML PATH 用法(可以实现Oracel中的wm_concat函数)
- SQL查询去除重复数据(多行结果取第一行)
- Oracle树形查询 ,结果显示一行
- sql 查询结果 excel
- 原始SQL查询结果
- sql遍历查询结果
- Sql 查询结果insert
- sql查询结果拼接
- hdu3338 / 方格横纵和问题终极版,最大流斩
- linux usb系统
- work_weipa_listview下拉刷新
- C# WINFORM Excel 导入导出 类
- hdu1862excel排序
- oracle10g中的wm_concat 实现sql查询结果多行转一行
- GDB调试多线程
- hdoj.1076 An Easy Task 20140811
- PHP限制IP访问 只允许指定IP访问 允许*号通配符过滤IP
- 项目所用技术回顾之定时任务(基于spring quartz)
- asp.net实现验证码程序
- path和classpath的配置及原理
- Search a Young Tableau
- UVA1418-WonderTeam(推理+贪心)