![](/img/trans.png)
[英]Count the occurrencesfor the previous 10 days grouped by id? SQL Big Query
[英]Big query sql Using lag function with missing days
我在 Big Query 超集中使用 sql 来创建 pivot 表来计算一系列天之间的游戏差异:
Game Date Sum Prev_sum
First 2022-08-15 178.68
2022-08-16 345.09 166.41
2022-08-18 570.53 991.89 --wrong input ,missing day
2022-08-19 173.69 -396.84
2022-08-20 532.35 358.66
2022-08-21 248.35 -284
Second 2022-08-17 518.59 600.53 --wrong input ,missing day
2022-08-20 182.91 148.3
Third 2022-08-15 527.35
2022-08-17 359.93 426.53
2022-08-20 539.05 564.57
2022-08-21 543.74 4.69
我在用着
select Date , SUM(Sum) ,
SUM(Sum) -
lag(SUM(Sum)) over(partition by Game order by min(Date) ASC)
from my_table
理想情况下,无论显示的日期如何,我都希望每行之间的总和有所不同
Game Date Sum Prev_sum
First 2022-08-15 178.68
2022-08-16 345.09 166.41
2022-08-18 570.53 225
2022-08-19 173.69 -396.84
2022-08-20 532.35 358.66
2022-08-21 248.35 -284
Second 2022-08-17 518.59
2022-08-20 182.91 -336
考虑以下查询:
SELECT Game, Date,
Sum - LAG(Sum) OVER(PARTITION BY Game ORDER BY Date) Prev_sum
FROM my_table
ORDER BY 1, 2;
游戏 | 日期 | Prev_sum |
---|---|---|
第一的 | 2022-08-15 | |
第一的 | 2022-08-16 | 166.40999999999997 |
第一的 | 2022-08-18 | 225.44 |
第一的 | 2022-08-19 | -396.84 |
第一的 | 2022-08-20 | 358.66 |
第一的 | 2022-08-21 | -284.0 |
第二 | 2022-08-17 | |
第二 | 2022-08-20 | -335.68000000000006 |
第三 | 2022-08-15 | |
第三 | 2022-08-17 | -167.42000000000002 |
第三 | 2022-08-20 | 179.11999999999995 |
第三 | 2022-08-21 | 4.6900000000000546 |
create temp table my_table AS
select 'First' Game, '2022-08-15' Date, 178.68 Sum union all
select 'First', '2022-08-16', 345.09 union all
select 'First', '2022-08-18', 570.53 union all
select 'First', '2022-08-19', 173.69 union all
select 'First', '2022-08-20', 532.35 union all
select 'First', '2022-08-21', 248.35 union all
select 'Second', '2022-08-17', 518.59 union all
select 'Second', '2022-08-20', 182.91 union all
select 'Third', '2022-08-15', 527.35 union all
select 'Third', '2022-08-17', 359.93 union all
select 'Third', '2022-08-20', 539.05 union all
select 'Third', '2022-08-21', 543.74 ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.