2

我在做一个项目时正在学习 SQL,希望能在以下方面提供一些帮助。我对stackoverflow也很陌生,所以如果我的格式关闭,我深表歉意:

我有一个包含日期、组、人员、金额列的表。对于每一天,我都有一个条目,每个人都有一个数量和他们所在的组,所以一行看起来像:

  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

看看有问题的日子。

4

1 回答 1

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 
于 2012-08-07T19:41:44.057 回答