postgresql中表中的累积和

postgresql中表中的累积和,postgresql,cumulative-sum,Postgresql,Cumulative Sum,我有一个有三列的表。姓名、马克和学校日。我想每天记30天的累积分数。我在下面试过了 select sum(Mark), Name from Table1 where School_day between '2020-06-15'::date -29 and '2020-06-15'::date group by Name 但是我想在一段时间内运行它,而不是每天运行它 我在下面试过了,但没有给出正确的数字 select sum(Mark), Name, School_day from Table

我有一个有三列的表。姓名、马克和学校日。我想每天记30天的累积分数。我在下面试过了

select sum(Mark), Name from Table1
where School_day between '2020-06-15'::date -29 and '2020-06-15'::date
group by Name
但是我想在一段时间内运行它,而不是每天运行它

我在下面试过了,但没有给出正确的数字

select sum(Mark), Name, School_day from Table1
where between School_day-29 and School_day
group by Name, School_day
order by School_day

请试试这个,如果你对它的工作原理有疑问,请告诉我

select Name, School_day, 
       sum(Mark) over (partition by Name 
                           order by School_day)
  from Table1
 where now() - School_day < interval '29 days'
 order by Name, School_day;
选择名称、学校日、,
按名称划分的总和(标记)
按学校订购(每天)
来自表1
where now()-上学日<间隔“29天”
按姓名、学校日期排序;