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

效果:

相关推荐
你好,帅哥8 小时前
sqlcipher 编译
数据库
roman_日积跬步-终至千里8 小时前
【源码分析】StarRocks TRUNCATE 语句执行流程:从 SQL 到数据清空的完整旅程
java·数据库·sql
ClouGence8 小时前
从 0 到 1 构建 TDSQL MySQL 实时同步链路
数据库·分布式·sql·mysql
期待のcode8 小时前
MyBatis-Plus通用枚举
java·数据库·后端·mybatis·springboot
编织幻境的妖8 小时前
数据库物化视图与普通视图区别
数据库·oracle
进阶的DW8 小时前
测开平台(后端开发)
数据库
Hello.Reader8 小时前
Flink SQL 集合运算UNION / INTERSECT / EXCEPT 以及 IN / EXISTS 在流式场景下怎么用?
数据库·sql·flink
_Minato_8 小时前
数据库知识整理——数据库控制功能
数据库·经验分享·笔记·软考·计算机系统
TDengine (老段)8 小时前
TDengine 数据订阅架构设计与最佳实践
大数据·数据库·时序数据库·tdengine·涛思数据
Jtti8 小时前
MySQL磁盘不足会导致服务直接崩溃吗?
数据库·mysql