oracle分析函数——listagg篇
(1)使用listagg将多行数据合并到一行
例表:
select deptno, ename from emp order by deptno, ename
假设有一个需求,需要将emp表中相同部门的雇员姓名存放到一行中,不同的姓名用逗号“,”分隔,结果如下图:
我们可以用oracle11g里面的分析函数listagg来实现,SQL语句如下:
select deptno, listagg(ename,',') within group (order by ename) as total_enamefrom empgroup by deptno ;