我在使用Google BigQuery中的LAST_VALUE()
窗口函数时遇到问题。带有ASC的LAST_VALUE()和带有DESC的FIRST_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返回不同的结果。 – yuzwyy
这是一个功能,而不是bug ..检查下面的答案 –
你有一个低利率。重要的是,您必须使用投票下方发布答案左侧的勾号标记接受的答案。这会增加你的速度。看看这个工程通过visinting这个链接:http://meta.stackoverflow.com/questions/5234/how-does-accepting-an-answer-work#5235 – Pentium10