提问人:Parsh 提问时间:1/18/2023 最后编辑:Ken WhiteParsh 更新时间:1/19/2023 访问量:46
保持一列固定并移位其他列
Keeping one column fixed and transposition other columns
问:
我有一张这样的表:
独特# | 成本 | 日期 |
---|---|---|
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 中实现这一点。groupby
unstack
答:
1赞
Adrian White
1/19/2023
#1
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')) ;
上一个:将字符串中的数字提取到新列中
评论