15.oracle的 listagg() WITHIN GROUP () 行转列函数使用

1.使用条件查询 查询部门为20的员工列表

-- 查询部门为20的员工列表

SELECT t.DEPTNO,t.ENAME FROM SCOTT.EMP t where t.DEPTNO = '20' ;

效果:

2.使用 listagg() WITHIN GROUP () 将多行合并成一行(比较常用)

SELECT

T .DEPTNO,

listagg (T .ENAME, ',') WITHIN GROUP (ORDER BY T .ENAME) names

FROM

SCOTT.EMP T

WHERE

T .DEPTNO = '20'

GROUP BY

T .DEPTNO

效果:

相关推荐
dkbnull12 小时前
数据库性能调优详解
数据库·mysql
风哥2号13 小时前
数据库教程FGMT50‑PostgreSQL体系结构深入与源码解析
数据库·postgresql
ly768913 小时前
磁盘 I/O 延迟突增:用 iostat、blktrace 与火焰图定位到具体调用栈
java·linux·前端·数据库·iostat·磁盘 i/o·blktrace
倔强的石头_13 小时前
数据迁移工具KDMS如何生成量化评估报告
数据库
冰暮流星13 小时前
mysql多表练习2
数据库·sql·mysql
天天喝旺仔13 小时前
Git 内部原理深度解析:从 blob/tree/commit 对象到 packfile 与垃圾回收
数据结构·数据库·git·算法·哈希
风123456789~13 小时前
【Oracle专栏】明明有索引,但报ORA-08102未找到索引
oracle
风哥2号15 小时前
数据库教程FGMT52‑PostgreSQL用户权限与安全管理
数据库·postgresql
风哥2号1 天前
数据库教程FGMT27‑MySQL数据库基础知识与体系架构
数据库·mysql
YangYang9YangYan1 天前
2026 校招商品分析岗位 JD 拆解,核心指标、工具与面试考点
大数据·数据库·数据分析