取消
顯示的結果
而不是尋找
你的意思是:

窗口函數使用上/ last_value與分區/訂單通過意想不到的結果

alexisjohnson
新的貢獻者三世

你好,我想知道這是預期的行為當使用最後或last_value窗口函數?我寫一個查詢是這樣的:

選擇col1、col2 last_value (col2)(由col1 order by col2分區)作為column2_last從值(10)、(11)、(12)、(20)、(21)、(22);

在雪花,我得到以下結果。的行為感覺是對的,因為我們分區col1和訂購col2 (https://docs.snowflake.com/en/sql-reference/functions/last_value.html)。

屏幕截圖2021-11-18 12.48.25點

在磚,我得到:

屏幕截圖2021-11-18 12.48.32點ORDER BY似乎不會應用…也許我寫查詢錯誤?

任何了解這種行為將會非常有幫助。另外,我很好奇為什麼最後last_value同義詞嗎?https://docs.www.eheci.com/sql/language-manual/functions/last.html

謝謝!

7回複7

匿名
不適用

@Alexis約翰遜——在這裏,你可以打開一個支持票:

聯係我們

謝謝你的幫助,@Hubert杜德克!

拉庫
遊客二世

對於那些偶然;似乎LAST_VALUE模擬相同的功能與SQL Server不,在大多數人的心裏,有一個適當的行/範圍框架窗口。你可以調整它與下麵的語法。

我理解last_value模擬從sql_server是什麼在我的腦海裏一個錯誤,但我不明白為什麼去年()(last_value別名)必須使用相同的窗口行範圍。

carv_0 - 1689191879502. - png

選擇col1、col2 LAST_VALUE (col2)(由col1 ORDER BY col2 ASC分區),column2_last LAST_VALUE (col2) /(分區col1 ORDER BY col2 ASC行之間的前和後無限)column2_last_unbound, FIRST_VALUE (col2)(由col1 ORDER BY col2 ASC分區),column2_first FIRST_VALUE (col2) /(分區col1 ORDER BY col2 DESC)作為column2_first_reversed從值(10)、(12)、(11)、(20)、(21)、(22);

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map