保持一列固定并移位其他列

Keeping one column fixed and transposition other columns

提问人:Parsh 提问时间:1/18/2023 最后编辑:Ken WhiteParsh 更新时间:1/19/2023 访问量:46

问:

我有一张这样的表:

独特# 成本 日期
12352 2165.5 2022-01-01 12:20
35256 2360.5 2022-01-01 12:20
12352 3254.0 2022-01-04 18:20
35256 3460.5 2022-01-04 18:20

但是,我正在尝试获取列作为日期名称(类似于数据透视表):

独特# 2022-01-01 2022-01-04 ...
12352 2165.5 3254.0 --
35256 2360.5 3460.5 --

我知道这在 Pandas 中使用 和 是相当容易做到的,但我正在尝试在 SQL 中实现这一点。groupbyunstack

sql snowflake-cloud-data-platform 数据操作

评论

1赞 Tangentially Perpendicular 1/18/2023
您使用的是哪种产品?SQL Server 有用于此的命令,而 MySQL 没有。请添加相关标签
0赞 Parsh 1/18/2023
在 Snowflake SQL 中

答:

1赞 Adrian White 1/19/2023 #1

enter image description here

WITH CTE AS(
select 12352 unique_id, 2165.5 cost ,'2022-01-01 12:20'::TIMESTAMP DATES, DATES::DATE DAY_AGG UNION ALL
select 35256 unique_id, 2360.5 cost ,'2022-01-01 12:20'::TIMESTAMP DATES, DATES::DATE DAY_AGG UNION ALL
select 12352 unique_id, 3254.0 cost ,'2022-01-04 18:20'::TIMESTAMP DATES, DATES::DATE DAY_AGG UNION ALL
select 35256 unique_id, 3460.5 cost ,'2022-01-04 18:20'::TIMESTAMP DATES, DATES::DATE DAY_AGG)

,CTE2 AS(SELECT UNIQUE_ID, DAY_AGG, SUM(COST) DAILY_COST 
FROM CTE GROUP BY UNIQUE_ID, DAY_AGG )

SELECT * FROM CTE2
   PIVOT(SUM(DAILY_COST)FOR DAY_AGG IN('2022-01-01','2022-01-04')) ;