使用SQL(标准BigQuery),我需要计算最近4周销售的运行平均值,其中标志为FALSE。平均值实际上是一个基准,因此不包括本周的销售额。
week flag sales
1 FALSE 3
2 FALSE 1
3 FALSE 3
4 FALSE 0
5 FALSE 3
6 FALSE 6
7 TRUE 3
8 TRUE 1
9 FALSE 3
10 FALSE 9
11 FALSE 6
12 FALSE 4
13 TRUE 4
14 TRUE 2
15 FALSE 1
例如,第6周的(week2 + week3 + week + week5)/ 4 =(1 + 3 + 0 + 3)/4=7/4=1.75。 例如,对于第10周,由于flag为true,因此运行平均值不应包括第7周和第8周。第10周应该是(week4 + week + 5 + week6 + week9)/ 4 = 3
整个桌子都应该
week avg
1 NULL
2 NULL
3 NULL
4 NULL
5 1.75
6 1.75
7 3
8 3
9 3
10 3
11 5.25
12 6
13 5.5
14 5.5
15 5.5
我一直在努力扩大答案 SQL Select Statement For Calculating A Running Average Column
谢谢, 吉姆
答案 0 :(得分:2)
以下是用于BigQuery标准SQL
int size = people.getPeople()
.parallelStream()
.mapToInt(p -> p.getFriends().size())
.max().orElse(0);