gpt4 book ai didi

oracle - 如何使用Oracle的LISTAGG函数和独特的过滤器?

转载 作者:行者123 更新时间:2023-12-03 06:10:28 25 4
gpt4 key购买 nike

我有一个这样的表:

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, David, David, John'
2 'Charles, 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

关于oracle - 如何使用Oracle的LISTAGG函数和独特的过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7355095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com