gpt4 book ai didi

sql - 如何删除使用 array_agg postgres 函数生成的重复项

转载 作者:行者123 更新时间:2023-11-29 11:06:42 26 4
gpt4 key购买 nike

有谁知道如何重写以下 SQL 查询以生成只包含一次名称的结果? (结果按用户分组)。

查询

SELECT array_to_string(array_agg(CONCAT(u.firstname, ' ', u.lastname)), ', ')
FROM log_has_item logitem
INNER JOIN log log ON log.id = logitem.log_id
INNER JOIN worker u ON log.worker_id = u.id
WHERE logitem.company_id = 1

可执行查询在 sqlfiddle.com 上可用 。单击运行 SQL 按钮,您将得到结果,其中包含 Frantisek Smith 两次

最佳答案

您可以在 array_agg 中使用 distinct 关键字:

SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT CONCAT(u.firstname, ' ', u.lastname)), ', ')
FROM log_has_item logitem
INNER JOIN log log ON log.id = logitem.log_id
INNER JOIN worker u ON log.worker_id = u.id
WHERE logitem.company_id = 1

SQLFiddle with this example

关于sql - 如何删除使用 array_agg postgres 函数生成的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26363742/

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