oracle 多行合并

今天我们来聊一下oracle中的多行合并操作。根据实际情况,我们经常会遇到需要将多行数据合并成一行返回的情况,例如需要将一段时间内某人的工作记录合并为一条汇总记录。

对于较少的记录数,我们可以手动将数据拼接起来,但当数据量较大时,手动操作将变得非常费时费力,这时候我们就需要使用oracle提供的多行合并操作来提高效率。下面我们将介绍两种常见的多行合并操作。

第一种操作是使用LISTAGG函数,该函数的作用是将同一组内的数据合并成一条,可以定义不同的分隔符进行拼接。

SELECT deptno, LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS employees FROM emp GROUP BY deptno;