oracle 数据库 LISTAGG详解
LISTAGG是Oracle数据库提供的一种聚合函数,用于将多个行的字符串值连接成一个单独的字符串值。
语法:LISTAGG(measure\_expr, delimiter) WITHIN GROUP (ORDER BY order\_by\_expr) [OVER (partition\_expr)]
参数:
- measure\_expr:要连接的列或表达式。
- delimiter:连接时使用的分隔符。
- order\_by\_expr:连接时使用的排序表达式。
- partition\_expr:分区表达式,用于将输入分成多个分区。
示例代码:
SELECT deptno,
LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS employees
FROM emp
GROUP BY deptno;
这个例子中,我们按部门编号(deptno)进行分组,然后将每个部门的员工名字(ename)通过逗号(,)连接起来,并按员工名字排序。
评论已关闭