我在学习项目时正在学习SQL,并希望对以下内容有所帮助。我也是stackoverflow的新手,所以如果我的格式化关闭,我道歉:
我有一个包含Date,Group,Person,Amount列的表。对于每个人来说,每个人都有一个条目,每个人都有一个金额和他们所在的组,所以一行看起来像:
Date Group Person Amount
8/7/2012 A Steve 10
我正在尝试撰写一份声明,该声明将在两天内返回所有群组的总和。
我有:
Select t1.group,sum(t1.amount),sum(t2.amount)
From table t1, table t2
Where t1.group=t2.group AND t1.date=current_date-1 AND t2.date=current_date-2
Group by t1.group
我没有收到任何错误,但是如果我这样做的话,这两个总和与我得到的不同
Select date,sum(amount) From table Group by date
并查看相关日期。
答案 0 :(得分:2)
你为什么要在两张桌子之间加入?
我想你想要:
Select t.group,
sum(case when t.date = current_date - 1 then t.amount end),
sum(case when t.date = current_date - 2 then t.amount end)
From table t
Group by t.group