如何使用Oracle的LISTAGG函数与一个独特的过滤器?
发布时间:2020-12-12 14:09:32 所属栏目:百科 来源:网络整理
导读:参见英文答案 LISTAGG in oracle to return distinct values13个答案我有一个这样的表: group_id name -------- ----1 David1 John1 Alan1 David2 Julie2 Charles 我想要以下结果: group_id names-------- -----1 'Alan,David,John'2 'Charles,Julie' 我可
参见英文答案 >
LISTAGG in oracle to return distinct values13个答案我有一个这样的表:
group_id name -------- ---- 1 David 1 John 1 Alan 1 David 2 Julie 2 Charles 我想要以下结果: group_id names -------- ----- 1 'Alan,David,John' 2 'Charles,Julie' 我可以使用下面的查询: select group_id,listagg(name,',') within group (order by name) as names from demotable group by group_id 得到这个(非常类似的结果): group_id names -------- ----- 1 'Alan,Julie' 任何想法如何我可以通过LISTAGG调用中的唯一性过滤名称? 我今天没有11g的实例可用,但你不能使用:SELECT group_id,LISTAGG(name,') WITHIN GROUP (ORDER BY name) AS names FROM ( SELECT UNIQUE group_id,name FROM demotable ) GROUP BY group_id (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |