使用oracle内置函数合并多行数据为一行

使用oracle内置函数合并多行数据为一行

一、wm_concat

wm_concat函数是是oracle中常用的函数,功能:行转列,可以将查询出的多行某列值使用逗号进行隔开拼接,成为一条数据

示例,现在有一张风险表,每个风险项(risk_id)对应有多条规则(risk_rule),现在我要按照风险项把对应的规则都查询出来。

 

listagg()函数

   基本语法:listagg(xxx,xxx) within group( order by xxx) 

   可以配合 group by进行聚合查询,也可以配合 partition by进行聚合查询。

select 
    listagg(ri.risk_name, ';') within group(order by ri.risk_name) 
    as name_list 
from t_risk ri

用法说明:

          LISTAGG('需要拼接的数据表中的字段','分隔符') WITHIN GROUP( ORDER BY '同前面,需要拼接的数据表中的字段')

          用法类似聚合函数,通过Group by语句,把每个Group的一个字段,拼接起来。

 
 

 

posted @   麦麦提敏  阅读(1860)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2020-07-14 Excel-VBA常用对象(Application、Workbook、Worksheet、Range)
点击右上角即可分享
微信分享提示