在SQL中合并数据集的两个版本
我有这样的数据:在SQL中合并数据集的两个版本,sql,teradata,Sql,Teradata,我有这样的数据: email | ticket | date a | 1 | 1/1/2015 a | 1 | 2/1/2015 a | 3 | 5/6/2016 b | 1 | 3/4/2016 b | 2 | 7/9/2016 b | 2 | 3/2/2016 我想通过两种不同的潜在布局,按不同的日期对门票进行汇总: email | ticket | date a |
email | ticket | date
a | 1 | 1/1/2015
a | 1 | 2/1/2015
a | 3 | 5/6/2016
b | 1 | 3/4/2016
b | 2 | 7/9/2016
b | 2 | 3/2/2016
我想通过两种不同的潜在布局,按不同的日期对门票进行汇总:
email | ticket | date
a | 2 | 2015
a | 3 | 2016
b | 5 | 2016
email | 2015 tickets | 2016 tickets
a | 2 | 3
b | 0 | 5
你只需要加总
--Query 1
select email,sum(ticket),extract(year from date)
from tablename
group by 1,3
--Query 2
select email
,sum(case when extract(year from date) = 2015 then ticket else 0 end)
,sum(case when extract(year from date) = 2016 then ticket else 0 end)
from tablename
group by email
请发布您的尝试并标记您的dbms。第一个是一个简单的聚合,但第二个是,您是否期望动态透视?如果是这样,您使用的是什么RDMS?RDMS是Teradata。我没有尝试过。不期望动态轴心,但不确定你的意思。@NBC他问你是否允许脚本添加未来年份,而不是手动更改。假设我们在2018年,我没有按序数分组+1@JohnCappelletti .. 事实上,这是我第一次在这里使用它。