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

效果:

相关推荐
悦悦欧呐呐呐呐44 分钟前
Redis 缓存中,穿透、击穿、雪崩的区别是什么?如何避免?
数据库·redis·缓存
@游子44 分钟前
第二章-MySQL之手工注入(二)
数据库·mysql
前进的李工1 小时前
SQL入门:从零掌握数据库查询语言
数据库·sql·mysql
心无旁骛~1 小时前
openGauss 在 AI、RAG 与向量数据库时代的技术破局与生态深耕
数据库·人工智能
6***94151 小时前
MySQL 字符串日期格式转换
android·数据库·mysql
g***86691 小时前
MySQL - Navicat自动备份MySQL数据
android·数据库·mysql
youxiao_901 小时前
数据库基础与安装
数据库
q***01771 小时前
【MySQL】数据类型
android·数据库·mysql
SelectDB1 小时前
Apache Doris 在小米统一 OLAP 和湖仓一体的实践
运维·数据库·程序员
n***33351 小时前
【Oracle11g SQL详解】日期和时间函数:SYSDATE、TO_DATE、TO_CHAR 等
数据库·sql