【发布时间】:2017-04-28 16:04:16
【问题描述】:
因此,我试图构建一条 delta 曲线来观察 MLB 球员的表现如何随着年龄的增长而变化。
“delta 方法”着眼于所有连续几年参加比赛的球员。很明显,许多球员都有几个背靠背的“对联”。对于每个球员来说,它会计算他们在第一年和第二年的表现率之间的差异,并将该差异放入一个“桶”中,该桶由这两年中球员的年龄定义。
假设一名球员在 25 岁时的平均击球次数为 0.300,而在他 26 岁时的平均击球次数为 0.310。所以我们采用 +.10 的差值,并放入 25/26 岁“桶” ”。
所以我有一个这样构造的表:
ID Name Age Average
123 Joe Smith 25 .300
123 Joe Smith 26 .310
123 Joe Smith 27 .312
123 Joe Smith 28 .315
所以我正在寻找的输出基本上是一个我正在创建一个新行的输出,该行标识所有实例,如果一个球员连续打赛季,我们看到平均差异(所以如果有人有一个年龄25 季但不是 26 岁的季节,它们不会被包括在内)。我确信这涉及某种 CASE 声明,但我对这一切有点生疏。如果您不了解 BigQuery,请随时回复,就像这是 SQL 一样。
【问题讨论】:
-
Mikhail 发布的答案的好处是它会导致单表扫描(因此是成本的一半)。
标签: mysql sql google-app-engine google-bigquery