【问题标题】:Cumulative sum in a table in postgresqlpostgresql表中的累积和
【发布时间】:2020-07-09 10:41:18
【问题描述】:

我有一个包含 3 列的表格。姓名、标记和 School_day。我想拿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

【问题讨论】:

    标签: postgresql cumulative-sum


    【解决方案1】:

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

    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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-15
      • 2017-09-16
      • 2021-03-13
      • 2018-02-01
      • 1970-01-01
      • 2018-07-02
      相关资源
      最近更新 更多