2017-04-24 30 views

回答

3

使用lag函數的目標是獲取每行的前一個值。

你的情況:

select * 
from (
select parameter, value, year, LAG(value, 1) 
over (order by your_order_by_column) pre_value from T_TABLE) 
where pre_value <> value; 
+2

加上'或PRE_VALUE是爲了得到第一行null'了。 –

+0

但pre_value可以爲空,因爲重要的行值實際上爲null。所以如果有兩個關閉行的值爲null,則會出現第二個。即使它不應該。需要另一個條件。 – user2671057

+0

如果'value'是可空的,那麼必須定義如何處理空值。示例數據顯示沒有空值,所以我假設沒有空值。 –

相關問題