MySQL选择每天上周的总金额

时间:2020-05-21 13:54:45

标签: mysql sql

我在报告信息中心中有一个查询,以一个数字显示最近7天的收入总额。

现在我正尝试在日线图上获取此数字,例如:

April 7: 100,000 (total income from april 1 to 7)
April 8: 110,000 (total income from april 2 to 8)
...

我该如何选择?

购买表结构:

Value : int
Date : date

1 个答案:

答案 0 :(得分:0)

您可以使用窗口功能。如果您每天有一行,那么通常会使用它:

select t.*,
       sum(income) over (order by date rows between 6 preceding and current row)
from t;

这总共增加了7行,因此如果缺少日期或重复的日期是不正确的。

但是,range确实限制了您想要的日期:

select t.*,
       sum(income) over (order by date range between interval 6 day preceding and current row)
from t;