基于Mikhail的答案(如何计算同一工作日的滚动平均值与Big Query中的当前行?)
我希望复制这个,但用周数代替.以下是我的查询.由于星期数对于每行7行是相同的,因此它不会按预期工作
SELECT id,
date,
weeknumber,
sales_total,
SUM(net_sales_total) OVER(rolling_last_week) last_week
FROM (
SELECT id,
date,
sales_total,
EXTRACT(WEEK FROM entry_date) weeknumber
FROM `mydataset.mytable`
)
WINDOW rolling_last_week AS (
PARTITION BY id, weeknumber
ORDER BY entry_date
ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING
)
ORDER BY weeknumber, entry_date
Run Code Online (Sandbox Code Playgroud)
表-A
+-------+---------+----------+-----------+
| id | date |weeknumber|sales_total|
+-------+---------+----------+-----------+
| 1 | 01-01-17| 1 | 5 |
| 1 | 01-02-17| 1 | 5 |
| 1 | 01-03-17| 1 | 5 …Run Code Online (Sandbox Code Playgroud)