首页 > 解决方案 > 有没有办法在 sql 的 xmlagg 函数中使用 DISTINCT?

问题描述

我使用了以下命令。

select col1, col2, XMLAGG(XMLELEMENT(E, colname || ',')).EXTRACT('//text()')
from table
group by col1, col2

输出:

col1      col2      col3

KOCHI   ERNAKULAM   residential, commercial, residential, residential

但我需要以下输出作为

col3 :

residential, commercial.

我尝试在子查询中使用 DISTINCT 但没有获得所需的输出。有什么帮助吗?

标签: sqloracleoracle11g

解决方案


如何使用该regexp_replace功能?例如

select
col1,
col2,
regexp_replace(XMLAGG(XMLELEMENT(E, colname || ',')).EXTRACT('//text()'),'([^,]+)(,\1)+', '\1') as colname_list
from table
group by col1, col2

推荐阅读