gpt4 book ai didi

sql - 在纯 PostgreSQL 中 reshape 查询结果

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

我有一个像这样的 SQL 查询结果表:

Date,metric,value
1,x,2
2,x,3
2,y,5
3,y,8
3,z,9

我想按天计算每个指标的总和(不存在时填充 0):

Date,x,y,z
1,2,0,0
2,3,5,0
3,0,8,9

我事先不知道指标的名称。目前,我正在用 python 加载结果并使用 pandas 进行整形,但肯定有一种 PostgreSQL 方法可以做到这一点。

如何在 PostgreSQL 中实现上述功能?

最佳答案

您可以将条件聚合case when 表达式一起使用

select date, 
max(case when metric='x' then value end) as x,
max(case when metric='y' then value end) as y,
max(case when metric='z' then value end) as z
from tablename
group by date

关于sql - 在纯 PostgreSQL 中 reshape 查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55915739/

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