admin

SQL多个联接和总和在同一张表上

sql

当我在一个项目上工作时,我正在实时学习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

看看有问题的日子。


阅读 171

收藏
2021-06-07

共1个答案

admin

为什么要在两个表之间加入?

我想你要:

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
2021-06-07