【Oracle】LISTAGG 函数的用法
函数介绍
listagg函数是Oracle 11.2 c 版本推出的,用于数据分组后将指定列数据通过间隔符号拼接,将多行转为一行显示。
实际使用
以班级为单位,查询每个班级学生(同班学生显示在一行)
select t.school_name, t.class_name, t.class_code, t.class_num, listagg(t.student_name,';') within group (order by t.student_id) as student_namefrom t_student_detail t
group by t.school_name, t.class_name, t.class_code, t.class_num
其结果如下:
school_name | class_name | class_code | class_num | student_name |
---|---|---|---|---|
衡水二中 | 一年级1班 | A00101 | 3 | 张小明;李校璐;周小康 |
衡水二中 | 一年级2班 | A00102 | 2 | 吴世豪;安康杰 |
衡水二中 | 一年级3班 | A00103 | 1 | 刘小菲 |
函数失效场景
listagg函数拼接的字段数据类型须为varchar类型,非该数据类型的字段会出现数据为空的问题,解决方案如下:
listagg(to_char(student_id),';') within group (order by student_id)
即如果字段student_id 的数据类型是非字符串,则需要将其转换。
【Oracle】LISTAGG 函数的用法相关推荐
- Oracle trunc()函数的用法
--Oracle trunc()函数的用法 /**************日期********************/ 1.select trunc(sysdate) from dual --20 ...
- oracle 获得月最后一天,oracle获取本月第一天和最后一天及Oracle trunc()函数的用法...
select to_char(trunc(add_months(last_day(sysdate), -1) + 1), 'yyyy-mm-dd') "本月第一天", to_cha ...
- oracle查询本月第一天_oracle获取本月第一天和最后一天及Oracle trunc()函数的用法...
select to_char(trunc(add_months(last_day(sysdate), -1) + 1), 'yyyy-mm-dd') "本月第一天", to_ch ...
- Oracle to_date()函数的用法
在Oracle数据库中,Oracle to_date()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法 to_date()与24小时制表示法及mm分钟的显示: ...
- Oracle to_char()函数的用法
Comments - 446 Oracle to_char()函数的用法 The following are number examples for the to_char function. to_ ...
- oracle trunc q,Oracle trunc()函数的用法
/**************日期 TRUNC()函数没有秒的精确********************/ select sysdate from dual --当时日期 select trunc ...
- 四舍五入oracle,Oracle trunc()函数的用法及四舍五入 round函数
--Oracle trunc()函数的用法 /**************日期********************/ 1.select trunc(sysdate) from dual --201 ...
- oracle listagg函数bug记录
测试数据在文章的最后给出 select * from test_190619_lagg_bug_1 t1,(select t2.sub_id,listagg(t2.val || '.' ) withi ...
- oracle decode函数什么意思,oracle decode函数的用法
oracle decode函数,不管查询的结果是否满足'PRIMARY',参数中的select语句还是会执行的,通过查看执行计划就知道 set autotrace traceonly select d ...
最新文章
- spring boot 通过Maven + tomcat 自动化部署
- 如何利用Gephi可视化浏览的网站关系
- 网页开发--html js
- c语言一维数组逆序输出_剑指信奥 | C 语言之兵人来袭!
- 访问支付宝(淘宝)首页IE自动关闭解决方案
- putty登陆sourceforge.net(设置登录)
- Mybatis的insert方法
- C语言宏定义、宏替换
- SDOI2020游记
- 【MFC】带背景的工具栏
- config database.php,CodeIgniter配置之database.php用法实例分析
- C#简介和异常类总结
- Field ‘id‘ doesn‘t have a default value错误解决方法
- java实现续打功能_银行存折套打续打功能 -- 报表如何记录上次打印的位置
- Delphi android 开发视频教程
- POI导出 Excel 加水印支持 SXSSFWorkbook 和 XSSFWorkbook 模式
- matlab学习心得(一)
- [Builder]代码中android版本的判断[from oschina.亭子happy]
- PLM( 产品生命周期管理)的简单介绍
- Elasticsearch的ETL利器——Ingest节点
热门文章
- 《滑膜变结构控制MATLAB仿真基本理论与设计方法》读书笔记——第一、二章
- 通信不稳定,信号反射问题?图解 过冲、下冲、振铃!解决方案。附:C#串口固件升级软件 V1.0.0-企业版
- 成本和容量是企业购买云端存储时两大考虑因素
- line-clamp
- cxfreeze将python项目打包成.exe
- 基于51单片机的SD卡读卡器MMC存储器 proteus仿真程序设计
- 疫情加剧线上需求暴涨,解读东南亚Lazadashopee运动户外需求品类
- C#专业项目实例开发
- matlab函数repmat,MATLAB中mean()函数repmat()函数的用法
- vuePress搭建个人博客(附极速视频教学)