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

效果:

相关推荐
PingCAP10 分钟前
善战者无赫赫之功:消费金融核心系统的数据库选型与升级路径
数据库·分布式·架构
花间相见39 分钟前
【计算基础|MySQL09】索引(下):失效与设计
数据库·后端·面试
张宇Joaquin42 分钟前
Linux系统下磁盘扇区512n、512e和4kn的区别
linux·运维·数据库
用户62799471826244 分钟前
南大通用 GBase 8c 锁等待与死锁排查:从阻塞链到全局事务号
数据库
道虽迩,不行不至1 小时前
数据库自动连库执行增量脚本-Linux
linux·数据库
GeW1 小时前
新质生产力发展路线图来了,Linux和数据库人该怎么接
linux·数据库
用户125758524361 小时前
GoFrame Vue3开源后台管理系统推荐:数据库与Worker要求怎么验
数据库·后端·go
MaxHua1 小时前
达梦 DTS 迁移 MySQL 报错 - 3236:此列列表已索引 解决方案
数据库·后端
用户8662978480081 小时前
Oracle 迁 KingbaseES 全流程:从评估到割接,一个都不能少
数据库
用户8662978480081 小时前
从 MySQL 迁到 KingbaseES,KDTS 这些参数不调会吃亏
数据库