Google bigquery 求和(x)除以(MOD(x,3))——需要澄清

Google bigquery 求和(x)除以(MOD(x,3))——需要澄清,google-bigquery,Google Bigquery,在下面的查询中,1如何计算sum列中的值6,6,10,10,10,9,9?2为什么使用MODx,3,为什么不使用MODx,2或MODx,4?需要澄清吗 SELECT x, SUM(x) OVER (PARTITION BY MOD(x, 3)) AS sum FROM UNNEST([1, 2, 3, 4, 5, 4, 3, 2, 1]) AS x; 上面的查询在本页中,要回答您的第一个问题,只需在下面运行,它只有一个附加字段 标准SQL 选择 x,, MODx,3作为x_mod, 按

在下面的查询中,1如何计算sum列中的值6,6,10,10,10,9,9?2为什么使用MODx,3,为什么不使用MODx,2或MODx,4?需要澄清吗

SELECT
  x,
  SUM(x) OVER (PARTITION BY MOD(x, 3)) AS sum
FROM UNNEST([1, 2, 3, 4, 5, 4, 3, 2, 1]) AS x;

上面的查询在本页中,

要回答您的第一个问题,只需在下面运行,它只有一个附加字段

标准SQL 选择 x,, MODx,3作为x_mod, 按MODx划分的SUMx,3作为和 从UNNEST[1,2,3,4,5,4,3,2,1]到x 结果是

第x行x_模和 1 3 0 6 2 3 0 6 3 1 1 10 4 4 1 10 5 4 1 10 6 1 1 10 7 2 2 9 8 5 2 9 9 2 2 9 正如你现在看到的,所有具有相同x_mod的值都被求和,这很有希望解释为什么你会看到那些6,6,10,10,9,9,9


至于你的第二个问题-这只是一个例子-使用MODx,3没有特别的原因-你可以玩MODx,2或MODx,4并探索其行为-只是为了让你学会回答你的第一个问题-只需在下面运行,它只有一个附加字段

标准SQL 选择 x,, MODx,3作为x_mod, 按MODx划分的SUMx,3作为和 从UNNEST[1,2,3,4,5,4,3,2,1]到x 结果是

第x行x_模和 1 3 0 6 2 3 0 6 3 1 1 10 4 4 1 10 5 4 1 10 6 1 1 10 7 2 2 9 8 5 2 9 9 2 2 9 正如你现在看到的,所有具有相同x_mod的值都被求和,这很有希望解释为什么你会看到那些6,6,10,10,9,9,9

至于你的第二个问题-这只是一个例子-使用MODx,3没有特别的原因-你可以玩MODx,2或MODx,4并探索行为-只是为了让你学习