函数介绍

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 函数的用法相关推荐

  1. Oracle trunc()函数的用法

    --Oracle trunc()函数的用法 /**************日期********************/ 1.select trunc(sysdate) from dual  --20 ...

  2. oracle 获得月最后一天,oracle获取本月第一天和最后一天及Oracle trunc()函数的用法...

    select to_char(trunc(add_months(last_day(sysdate), -1) + 1), 'yyyy-mm-dd') "本月第一天", to_cha ...

  3. oracle查询本月第一天_oracle获取本月第一天和最后一天及Oracle trunc()函数的用法...

    select to_char(trunc(add_months(last_day(sysdate), -1) + 1), 'yyyy-mm-dd') "本月第一天",  to_ch ...

  4. Oracle to_date()函数的用法

    在Oracle数据库中,Oracle to_date()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法 to_date()与24小时制表示法及mm分钟的显示: ...

  5. Oracle to_char()函数的用法

    Comments - 446 Oracle to_char()函数的用法 The following are number examples for the to_char function. to_ ...

  6. oracle trunc q,Oracle trunc()函数的用法

    /**************日期  TRUNC()函数没有秒的精确********************/ select sysdate from dual --当时日期 select trunc ...

  7. 四舍五入oracle,Oracle trunc()函数的用法及四舍五入 round函数

    --Oracle trunc()函数的用法 /**************日期********************/ 1.select trunc(sysdate) from dual --201 ...

  8. oracle listagg函数bug记录

    测试数据在文章的最后给出 select * from test_190619_lagg_bug_1 t1,(select t2.sub_id,listagg(t2.val || '.' ) withi ...

  9. oracle decode函数什么意思,oracle decode函数的用法

    oracle decode函数,不管查询的结果是否满足'PRIMARY',参数中的select语句还是会执行的,通过查看执行计划就知道 set autotrace traceonly select d ...

最新文章

  1. spring boot 通过Maven + tomcat 自动化部署
  2. 如何利用Gephi可视化浏览的网站关系
  3. 网页开发--html js
  4. c语言一维数组逆序输出_剑指信奥 | C 语言之兵人来袭!
  5. 访问支付宝(淘宝)首页IE自动关闭解决方案
  6. putty登陆sourceforge.net(设置登录)
  7. Mybatis的insert方法
  8. C语言宏定义、宏替换
  9. SDOI2020游记
  10. 【MFC】带背景的工具栏
  11. config database.php,CodeIgniter配置之database.php用法实例分析
  12. C#简介和异常类总结
  13. Field ‘id‘ doesn‘t have a default value错误解决方法
  14. java实现续打功能_银行存折套打续打功能 -- 报表如何记录上次打印的位置
  15. Delphi android 开发视频教程
  16. POI导出 Excel 加水印支持 SXSSFWorkbook 和 XSSFWorkbook 模式
  17. matlab学习心得(一)
  18. [Builder]代码中android版本的判断[from oschina.亭子happy]
  19. PLM( 产品生命周期管理)的简单介绍
  20. Elasticsearch的ETL利器——Ingest节点

热门文章

  1. 《滑膜变结构控制MATLAB仿真基本理论与设计方法》读书笔记——第一、二章
  2. 通信不稳定,信号反射问题?图解 过冲、下冲、振铃!解决方案。附:C#串口固件升级软件 V1.0.0-企业版
  3. 成本和容量是企业购买云端存储时两大考虑因素
  4. line-clamp
  5. cxfreeze将python项目打包成.exe
  6. 基于51单片机的SD卡读卡器MMC存储器 proteus仿真程序设计
  7. 疫情加剧线上需求暴涨,解读东南亚Lazadashopee运动户外需求品类
  8. C#专业项目实例开发
  9. matlab函数repmat,MATLAB中mean()函数repmat()函数的用法
  10. vuePress搭建个人博客(附极速视频教学)