Oracle的listagg函数(多行按顺序合并字符串)(与wm_concat的区别)
场景:
使用wm_concat函数时,会发现无法对其拼接的字符串进行排序
使用listagg函数可实现按排序进行字符串拼接
select myGroup, listagg(myStr, ',') within group(order by myNo) myStrs
from myTable
group by myGroup;
描述:
listagg() | 两个参数:聚合列 与 分隔符(无分隔符将直接拼接) |
within group(order by xx) | 排序 |
group by | 分组(需要进行分组时使用) |
备注:
wm_concat为wmsys用户下函数,为oracle非公开函数;
日常使用中,建议使用listagg函数
Oracle的listagg函数(多行按顺序合并字符串)(与wm_concat的区别)的更多相关文章
- oracle的listagg函数
今天需要将 BDST_ID相同的PROJECT_ID用逗号分隔拼成一个字符串,于是想到了oracle的listagg函数 表名为PM_BDST_PROJECT select tt.BDST_ID, l ...
- oracle的 listagg() WITHIN GROUP () 行转列函数的使用
1.使用条件查询 查询部门为20的员工列表 -- 查询部门为20的员工列表 SELECT t.DEPTNO,t.ENAME FROM SCOTT.EMP t where t.DEPTNO ...
- Oracle随机排序函数和行数字段
随机排序函数dbms_random.value()用法:select * from tablename order by dbms_random.value() 行数字段rownum用法:select ...
- Oracle 11g Pivot函数实现行转列
先上语法规范: SELECT .... FROM <table-expr> PIVOT ( aggregate-function(<column>) FOR <pivot ...
- ORACLE:一列的多行数据拼成字符串
查询表中的一个字段,返回了多行,就把这么多行的数据都拼成一个字符串. 例: id name 1 aa 2 bb 3 cc 要的结果是&quo ...
- oracle listagg函数、lag函数、lead函数 实例
Oracle大师Thomas Kyte在他的经典著作中,反复强调过一个实现需求方案选取顺序: “如果你可以使用一句SQL解决的需求,就使用一句SQL:如果不可以,就考虑PL/SQL是否可以:如果PL/ ...
- oracle 行列转换函数之WM_CONCAT和LISTAGG的使用(一)
一.wm_concat函数 wm_concat能够实现同样的功能,但是有时在11g中使用需要用to_char()进行转换,否则会出现不兼容现象(WMSYS.WM_CONCAT: 依赖WMSYS 用户, ...
- oracle的concat、convert、listagg函数(字符串拼接和类型转换)
ORACLE几种常用的方法(2) 1.concat常见的用法 : 格式:concat(String1,String2) 说明:concat函数用于将两个字符串连接起来,形成一个单一的字符串 实例: s ...
- Oracle列转行函数LISTAGG()
--Oracle列转行函数LISTAGG() with tb_temp as( select 'China' 国家,'Wuhan' 城市 from dual union all select 'Chi ...
- [转]Oracle SQL函数pivot、unpivot转置函数实现行转列、列转行
原文地址:http://blog.csdn.net/seandba/article/details/72730657 函数PIVOT.UNPIVOT转置函数实现行转列.列转行,效果如下图所示: 1.P ...
随机推荐
- STL 容器操作
vector set转化为vector:vec.assign(set.begin(), set.end()) map 1. map默认从小到达排序,想要从大到小,可以: map<string, ...
- linux:rpm
rpm 对软件包进行管理:查询.卸载.安装 查询 rpm -qa | grep 关键字 :查询指定的包 卸载 rpm -e 关键字 :卸载指定的包 若存在依赖关系: rpm -e 关键字 ...
- Huawei LiteOS基于Cortex-M4 GD32F4平台移植
1.Huawei LiteOS简介 Huawei LiteOS源码获取: https://github.com/LiteOS/LiteOS, https://gitee.com/LiteOS/Lite ...
- Delphi XE TVirtualQuery raised exception class ESQLiteError with message 'duplicate column name:dw'
使用Delphi XE7+UniDAC+TVirtualQuery开发的过程中,对已经查询到内存中的数据集TUniQuery组件,再次运用SQL语句进行查询 结果程序运行后提示错误:raised ex ...
- 天翼云VPC支持专线健康检查介绍
本文分享自天翼云开发者社区<天翼云VPC支持专线健康检查介绍>,作者:汪****波 天翼云支持本地数据中心IDC(Internet Data Center)通过冗余专线连接到天翼云云上专有 ...
- 虚拟化技术 - CPU虚拟化
本文分享自天翼云开发者社区<虚拟化技术 - CPU虚拟化>,作者:谢****悦 物理机器是由CPU,内存和I/O设备等一组资源构成的实体.虚拟机也一样,由虚拟CPU,虚拟内存和虚拟I/O设 ...
- HPC云化部署的优势和挑战
本文分享自天翼云开发者社区<HPC云化部署的优势和挑战> 作者:土豆炒肉丝 HPC云化部署指的是将高性能计算(HPC)工作负载部署在云计算平台上,这种方式带来了一些明显的优势,但同时也面临 ...
- Celery异步分布队列
Celery分布式任务队列 一.Celery介绍celery periodic task Celery 是一个基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理,如果你的 ...
- [记录点滴] OpenResty中Redis操作总结
[记录点滴] OpenResty中Redis操作总结 0x00 摘要 本文总结了在OpenResty中的操作,与大家分享,涉及知识点为Openresty, Lua, Redis. 0x01 操作记录 ...
- Scratch教程:第1课认识Scratch
一.Scratch来源 Scratch最初是由麻省理工学院媒体实验室的终身幼儿园研究小组的米切尔雷斯尼克和西摩于2003年发起的. 希望帮助所有的孩子"发现和跟随自己的激情和探索力,敢于尝试 ...