注册
巧用 LISTAGG 函数行转列
专栏/金的探索记录/ 文章详情 /

巧用 LISTAGG 函数行转列

2021/01/15 3918 1 0
摘要 巧用 LISTAGG 函数行转列

在 SQLSERVER 时发现 for xml path 写法为行转列,可以使用 wm_concat 函数进行替换,但是 wm_concat 函数默认用逗号分割,所以使用不方便,可以使用 LISTAGG 函数进行替换。wm_concat、LISTAGG 均与 ORACLE 兼容。

LISTAGG(exp1, exp2) 集函数首先根据 SQL 语句中的 group by 分组(如果没有指定分组则所有结果集为一组),然后在组内按照 WITHIN GROUP 中的 ORDER BY 进行排序,最后将表达式 exp1 用表达式 exp2 串接起来。

LISTAGG 的用法:

<LISTAGG>(<参数>[,<参数>]) WITHIN GROUP(<ORDERBY 项>)

如下图所示:

1.png

使用 LISTAGG 函数,如下图所示:

2.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服