gpt4 book ai didi

postgresql - 在 Postgresql 中选择位掩码

转载 作者:行者123 更新时间:2023-11-29 12:22:37 25 4
gpt4 key购买 nike

我有一个包含“一”和“二”列的表格:

a | x  
a | y
a | z
b | x
b | z
c | y

我想写一个查询来补充缺失的嵌套值

b | null | y  
c | null | x
c | null | z

然后我将用array_agg(two) 逐个选择它,这样

a {1 1 1}  
b {1 0 1}
c {0 1 0}

并最终使用 COPY 查询将其导出到 CSV 文件中

第一步我应该写什么查询?

最佳答案

您可以使用 CROSS JOIN 构建所有可能的元素对,然后使用 LEFT JOIN 检查每对元素是否存在:

SELECT
T1.one,
T2.two,
CASE WHEN your_table.one IS NULL THEN 0 ELSE 1 END AS is_present
FROM (SELECT DISTINCT one FROM your_table) T1
CROSS JOIN (SELECT DISTINCT two FROM your_table) T2
LEFT JOIN your_table
ON T1.one = your_table.one AND T2.two = your_table.two

然后您可以向该查询添加一个 GROUP BY T1.one 和一个 ARRAY_AGG(...)

关于postgresql - 在 Postgresql 中选择位掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8739542/

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