Postgresql 撤消运行总数

Postgresql 撤消运行总数,postgresql,Postgresql,我的数据格式已经包含了上述数据日期内访客的总流量。我试图做的是将running total格式中的指标转换为特定日期内发生的访问量 Current Table site|Run Tol Visits|Date -----+--------------+-------- aol | 24 |01/01/19 aol | 57 |01/02/19 aol| 100|01/03/19 aol|

我的数据格式已经包含了上述数据日期内访客的总流量。我试图做的是将running total格式中的指标转换为特定日期内发生的访问量

Current Table

  site|Run Tol Visits|Date
 -----+--------------+--------
  aol |           24 |01/01/19
  aol |           57 |01/02/19
   aol|           100|01/03/19
   aol|           140|01/04/19
  cnn |           24 |01/01/19
  cnn |           57 |01/02/19
   cnn|           100|01/03/19
   cnn|           140|01/04/19
  fox |           24 |01/01/19
  fox |           57 |01/02/19
   fox|           100|01/03/19
   fox|           140|01/04/19

Desired output

    Visits|Date
   -------+--------
        24|01/01/19
        33|01/02/19
        43|01/03/19
        40|01/04/19
使用以下选项,例如:


谢谢,如果有一个额外的维度需要加倍,如第一个示例中所示,该怎么办?
with my_table(site, total_visits, date) as (
values
    ('aol', 24, '01/01/19'),
    ('aol', 57, '01/02/19'),
    ('aol', 100, '01/03/19'),
    ('aol', 140, '01/04/19'),
    ('cnn', 24, '01/01/19'),
    ('cnn', 57, '01/02/19'),
    ('cnn', 100, '01/03/19'),
    ('cnn', 140, '01/04/19'),
    ('fox', 24, '01/01/19'),
    ('fox', 57, '01/02/19'),
    ('fox', 100, '01/03/19'),
    ('fox', 140, '01/04/19')
)

select 
    site,
    total_visits,
    date, 
    total_visits- lag(total_visits, 1, 0) over (partition by site order by date) as visits
from my_table;

 site | total_visits |   date   | visits 
------+--------------+----------+--------
 aol  |           24 | 01/01/19 |     24
 aol  |           57 | 01/02/19 |     33
 aol  |          100 | 01/03/19 |     43
 aol  |          140 | 01/04/19 |     40
 cnn  |           24 | 01/01/19 |     24
 cnn  |           57 | 01/02/19 |     33
 cnn  |          100 | 01/03/19 |     43
 cnn  |          140 | 01/04/19 |     40
 fox  |           24 | 01/01/19 |     24
 fox  |           57 | 01/02/19 |     33
 fox  |          100 | 01/03/19 |     43
 fox  |          140 | 01/04/19 |     40
(12 rows)