sql table 按日期 Snowflake 汇总累积观看次数
Summing cumulative views in an sql table by date Snowflake
我有一个 sql table 以日期、参考编号和视图作为一列,我试图根据按参考编号分组的日期为每一行添加视图。
我有 3 天的数据,比如 3 月 27 日、28 日和 29 日,我有多个参考号,但让我们取 1 个参考号:123。我想添加该参考的观看次数从 27 到 28,并在 28 的同一行中的新列中生成结果。然后将 28 中的结果数字添加到 29 视图中,并将其放入 29 的同一行中的新列中。
create or replace view acq.vw_cumulative(DATE, REF, VIEWS, URL, CUML_VIEWS)
as
SELECT DATE, REF, VIEWS, URL, sum(VIEWS) WHERE DATE > DATE - 1 OVER (PARTITION BY REF) FROM ACQ.CUMULATIVE;
这是我开始的内容,但它只是 returns 总和并附加到所有 3 行
所以使用这个 CTE 只是为了(对我而言)“假数据”的简单性
WITH data_table(date, ref, views) as (
SELECT * FROM VALUES
('2022-03-27'::date, 123, 100),
('2022-03-28'::date, 123, 20),
('2022-03-29'::date, 123, 3),
('2022-03-27'::date, 44, 10),
('2022-03-28'::date, 44, 200),
('2022-03-29'::date, 44, 32)
)
下面的SQL都可以用,基本上你的SUM需要做的稍微不一样。
SELECT d.date,
d.ref,
d.views,
SUM(d.views) OVER (partition by d.ref order by d.date) as CUMULATIVE
FROM data_table AS d
order by 2,1;
我们将得到所有先前视图值的总和。
DATE
REF
VIEWS
CUMULATIVE
2022-03-27
44
10
10
2022-03-28
44
200
210
2022-03-29
44
32
242
2022-03-27
123
100
100
2022-03-28
123
20
120
2022-03-29
123
3
123
因此可以将其插入您的 VIEW(当您添加 URL 和其他对您重要的位时)
我有一个 sql table 以日期、参考编号和视图作为一列,我试图根据按参考编号分组的日期为每一行添加视图。
我有 3 天的数据,比如 3 月 27 日、28 日和 29 日,我有多个参考号,但让我们取 1 个参考号:123。我想添加该参考的观看次数从 27 到 28,并在 28 的同一行中的新列中生成结果。然后将 28 中的结果数字添加到 29 视图中,并将其放入 29 的同一行中的新列中。
create or replace view acq.vw_cumulative(DATE, REF, VIEWS, URL, CUML_VIEWS)
as
SELECT DATE, REF, VIEWS, URL, sum(VIEWS) WHERE DATE > DATE - 1 OVER (PARTITION BY REF) FROM ACQ.CUMULATIVE;
这是我开始的内容,但它只是 returns 总和并附加到所有 3 行
所以使用这个 CTE 只是为了(对我而言)“假数据”的简单性
WITH data_table(date, ref, views) as (
SELECT * FROM VALUES
('2022-03-27'::date, 123, 100),
('2022-03-28'::date, 123, 20),
('2022-03-29'::date, 123, 3),
('2022-03-27'::date, 44, 10),
('2022-03-28'::date, 44, 200),
('2022-03-29'::date, 44, 32)
)
下面的SQL都可以用,基本上你的SUM需要做的稍微不一样。
SELECT d.date,
d.ref,
d.views,
SUM(d.views) OVER (partition by d.ref order by d.date) as CUMULATIVE
FROM data_table AS d
order by 2,1;
我们将得到所有先前视图值的总和。
DATE | REF | VIEWS | CUMULATIVE |
---|---|---|---|
2022-03-27 | 44 | 10 | 10 |
2022-03-28 | 44 | 200 | 210 |
2022-03-29 | 44 | 32 | 242 |
2022-03-27 | 123 | 100 | 100 |
2022-03-28 | 123 | 20 | 120 |
2022-03-29 | 123 | 3 | 123 |
因此可以将其插入您的 VIEW(当您添加 URL 和其他对您重要的位时)