oracle 聚合函数 LISTAGG ,将多行结果合并成一行
LISTAGG(列名,' 分割符号')
oracle 11g 以上的版本才有的一个将指定列名的多行查询结果,用 指定的分割符号 合并成一行显示:
例如:
表原始数据:
需求:将 mb1_Transport_License_list 表中的数据,根据 transportation_license_id 数据进行分组,对 Item_Category_Name 列的数据进行 去重合并
使用聚合函数 LISTAGG 解决
- SELECT transportation_license_id,
- LISTAGG( to_char(Item_Category_Name), ',') WITHIN GROUP(ORDER BY Item_Category_Name) AS employees
- FROM ( select distinct transportation_license_id, item_category_name from mb1_Transport_License_list ) group by transportation_license_id
SQL解析:
select distinct transportation_license_id, item_category_name from mb1_Transport_Lincense_list ; -- 对需要做合并处理的数据源数据进行去重处理,如果实际要求不需要去重处理,这里可以直接改为 表名,(例如: from mb1_Transport_Lincense_list)进行查询
LISTAGG( to_char(Item_Category_Name), ',') WITHIN GROUP(ORDER BY Item_Category_Name) -- 将 Item_Category_Name 列的内容以", "进行分割合并、排序;
to_char(Item_Category_Name) -- to_char(列名) 解决使用聚合函数 LISTAGG 进行查询后,对查询结果乱码问题进行转码处理;
运行后的结果:
oracle 聚合函数 LISTAGG ,将多行结果合并成一行相关推荐
- 各数据库SQL查询结果多行数据合并成一行
SQL查询结果多行数据合并成一行 一.Oracle函数多行数据合并成一行 二.Mysql函数多行数据合并成一行 三.sqlserver函数多行数据合并成一行 四.postgresql函数多行数据合并成 ...
- sqlserver函数多行数据合并成一行
sqlserver函数多行数据合并成一行 SELECTusername,coursename= (STUFF((SELECT ',' + coursenameFROM t_user_courseWHE ...
- Oracle多行数据合并成一行
Oracle多行数据合并成一行 一.listagg 函数------(有长度限制) SELECT listagg(待拼接字段, ',') within group(ORDER BY 待拼接字段) AS ...
- java 合并到一行_mysql中将多行数据合并成一行数据
一个字段可能对应多条数据,用mysql实现将多行数据合并成一行数据 例如:一个活动id(activeId)对应多个模块名(modelName),按照一般的sql语句: 1 SELECT am.acti ...
- mysql大量数据合并_mysql中将多行数据合并成一行数据
一个字段可能对应多条数据,用mysql实现将多行数据合并成一行数据 例如:一个活动id(activeId)对应多个模块名(modelName),按照一般的sql语句: 1 SELECT am.acti ...
- mysql把相同id的多行合并到一行_mysql中将多行数据合并成一行数据
一个字段可能对应多条数据,用mysql实现将多行数据合并成一行数据 例如:一个活动id(activeId)对应多个模块名(modelName),按照一般的sql语句: 1 SELECT am.acti ...
- python如何输入多行数据合并_Python如何将多行数据合并成一行|python如何实现excle数据合并...
用Python导出工程文件两个子页里的数据成为两个excel表格,但我想把它合并成个一个excel表格的两个sheet 可以采用一些Excel的模块去实现,比如xlrd.xlwt.openpyxl.x ...
- SQL SERVER将多行数据合并成一行(转载)
昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes ep_name A ...
- 怎么把好几行弄成一行_将多行内容合并成一行的两种方式
在利用Unix操作系统在实现一些具体应用的时候,可能需要把某些显示的结果进行行与行之间的合并.如现在需要用Unix操作系统设计一个彩票软件,每一张彩票上最多可以打印五注内容.在Unix操作系统的数据文 ...
- Oracle 多行数据合并成一行
方案一:wm_concat函数 select username, id, wmsys.wm_concat(subject) as subject, wmsys.wm_concat(score) as ...
最新文章
- 计算机应用基础电子毕业考试,计算机应用基础-上海电子信息职业技术学院.PDF...
- 大数据集群启停shell脚本:hadoop(hdfs、yarn)、hbase集群启停
- QT的QUndoCommand类的使用
- Web- HTML网页颜色大全
- 每日程序C语言20-利用递归求阶乘
- Linux的三种权限含义,Linux chmod命令及权限含义
- 正则表达式5-分组突击
- HTML5表单那些事
- XP下如何引导Vista
- 人脸识别示例代码解析(二)——人脸识别解析
- linux下载dvwa教程,Dvwa安装,配置(Linux)
- mysql集群原理剖析
- go技术文章梳理(2017)
- linux debian安装字体,Debian安装/设置笔记(字体设置)
- java 最大整形_Java大整形BigInteger的用法
- c++ open_file函数
- LiveZilla 3.2.0.2的汉化包
- Python字符串地常规操作:取值,切片,查找,替换,分割,拼接,转义
- keras的net中使用tensorflow函数, AttributeError: ‘NoneType‘ object has no attribute ‘_inbound_nodes‘
- Matlab 语言基础知识输入命令之ans
热门文章
- Andorid用ksoap2调用wcfDemo
- BlogEngine.Net架构与源代码分析系列part5:对象搜索——IPublishable与Search
- 从零单排PAT1015,1016,1017,1018
- FusionCharts 分类以及各个属性参数列表
- 虚拟机的性能测试经验总结(一)
- 5.UML2 软件建模入门与提高 --- 类图
- 92. php 命名空间(2)
- 计算机系统配置有哪些,查看电脑配置方法有哪些
- 米尔电子i.MX8开发板评测
- 横向时间轴(进度条)