gpt4 book ai didi

postgresql - 在 Redshift 中合并具有非空值的多行

转载 作者:行者123 更新时间:2023-11-29 13:52:52 24 4
gpt4 key购买 nike

我只想从表中获取包含非空值的一行,可以从以下代码重现:

select
1 as unique_id,
'null' as first,
'second' as second,
'null' as third
union all
select
1 as unique_id,
'first' as first,
'null' as second,
'null' as third
union all
select
1 as unique_id,
'null' as first,
'null' as second,
'third' as third

最佳答案

您提供的代码的输出(假设“null”应该为 NULL)是:

1, 'first', NULL, NULL
1, NULL, 'second', NULL
1, NULL, NULL, 'third'

通过“合并”,我假设您想要如下所示的输出:

1, 'first', 'second', 'third'

这可以通过以下方式完成:

SELECT MAX(first), MAX(second), MAX(third) FROM ... GROUP BY unique_id

当然,这假设每个值在每个 unique_id 中只出现一次。您可以类似地使用其他函数,例如 MINLISTAGG - 它们只需要排除 NULL 值即可。

关于postgresql - 在 Redshift 中合并具有非空值的多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37598249/

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