【发布时间】:2016-01-21 08:50:35
【问题描述】:
我在 Google BigQuery 中使用 LAST_VALUE() 窗口函数时遇到问题。
据我了解,以下两列应该返回相同的结果,但实际上它们返回的结果不同,似乎带有FIRST_VALUE() 的那一列是正确的。
SELECT
FIRST_VALUE(status) OVER (PARTITION BY userId ORDER BY timestamp DESC),
LAST_VALUE(status) OVER (PARTITION BY userId ORDER BY timestamp ASC)
FROM
[table]
我有错吗?
【问题讨论】:
-
无空值或重复值。更糟糕的是,使用 LAST_VALUE 的方法会为同一个 userId 返回不同的结果。
-
这是一个功能,而不是错误..检查下面的答案
-
您的费率很低。对 SO 很重要,您必须使用已发布答案左侧、投票下方的勾号来标记已接受的答案。这将提高您的费率。通过访问此链接了解其工作原理:meta.stackoverflow.com/questions/5234/…
标签: sql google-bigquery