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

效果:

相关推荐
Gauss松鼠会30 分钟前
高斯数据库(openGauss)的物理存储结构
运维·服务器·数据库·sql·opengauss·经验总结
杨云龙UP1 小时前
PostgreSQL 18.4 数据库整库迁移实战:pg_dump 备份与 pg_restore 恢复完整操作手册
运维·服务器·数据库·postgresql·pg_dump·pg_restore
AOI小白新手上路1 小时前
autodl常用的tar 打包下载(数据集)命令手册:逐段拆解与套用模板
java·大数据·数据库
凯歌的博客2 小时前
DuckDB 是一款进程内的分析型数据库
数据库·ai编程
dishugj2 小时前
Oracle物理体系结构
数据库·oracle
北亚数据恢复2 小时前
【数据库数据恢复】NDF文件变0KB、数据库损坏?超大数据库数据恢复案例
数据库·oracle
数据技术说3 小时前
数据库缓存架构深度解析:命中率、一致性、多层缓存管理
数据库·架构
姚远Oracle ACE3 小时前
对比测试了 openGauss、PostgreSQL、Oracle、MySQL 的CPU 指令数
mysql·postgresql·oracle
CJi0NG4 小时前
【自用】MySQL-多表查询
数据库·mysql