gpt4 book ai didi

postgresql - 我如何在用户 ID 级别删除重复记录?

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

假设我有与同一个人相关的条目,但某些列在一行中为 NULL 而在另一行中则不为 NULL

Name | likes cats | likes dogs | likes fish | age
Bob | true | NULL | FALSE | NULL
Bob | NULL | true | NULL | NULL
Bob | NULL | NULL | NULL | 50
Bob | NULL | NULL | true | NULL

所有这些记录都是关于 Bob 的,但我必须将它们汇总才能获得完整的图片。有没有办法压缩所有这些并清除 NULL。

压缩后的结果看起来像这样。

Name | likes cats | likes dogs | likes fish | age
Bob | true | true | FALSE | 50

最佳答案

您可以使用 bool_and() 作为 bool 值的聚合:

select name, 
bool_and(likes_cats) as likes_cats,
bool_and(likes_dogs) as likes_dogs,
bool_and(likes_fish) as likes_fish,
max(age) as age
from data
group by name;

在线示例:https://rextester.com/XSOHVY82920

关于postgresql - 我如何在用户 ID 级别删除重复记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57195931/

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