2017-05-31 93 views
0

我需要您對SQL代碼的實際幫助,以實現下述功能。如何根據當前字段的條件創建列並填寫數據

我有一個名爲「Base」的表格,有3列。我需要添加一個新列。在名爲「新結果」的新列中,它將檢查每個ID號第一。如果表中出現兩次相同的ID(由條件A和B測量,如ID 100和101所示),則在「新結果」字段中填寫由條件B測量的值。如果一個ID僅出現一次(僅由條件A或B測量,如ID 103和104所示),然後將原始值複製到新列中。

enter image description here

回答

0

可以使用FIRST_VALUE窗口功能。

select t.*, 
first_value(result) over(partition by id order by conditions desc) as new_result 
from tbl t 
+0

感謝您的解決方案。有效。使用Redshift時,它需要我在「按條​​件順序排列」 「無界之前和無界之後的行之間添加以下語句」 – orzking

相關問題