我在使用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