我在从事一个项目时正在即时学习 SQL,并且希望在以下方面得到一些帮助。我对 stackoverflow 还很陌生,所以如果我的格式设置错误,我深表歉意:
我有一个包含日期、组、人员、金额列的表。每天我都会为每个人记录一个金额和他们所在的组,所以一行看起来像:
Date Group Person Amount
8/7/2012 A Steve 10
我正在尝试编写一个声明,该声明将返回两个不同日期的所有组的总和。
I have:
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
并看看有问题的日子。
为什么要在两个表之间加入?
我想你想要:
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)