,所以我必須具有字段的表: 因此,該值 - 1023 QualityCode - 53可以發生在隨機時間,併爲每個MeterNum都有大約24個值,ROW_ID增加到24,然後從1開始新的MeterNum,我需要用平均值46和21替換1023(row_num 19 & 21),如果沒有至少添加另一個別名列選擇語句。我試圖拿出案例陳述,但我無法平均價值,有人可以幫助這一點。如何使用case語句在SQL中符合條件的記錄平均連續值
0
A
回答
3
您可以使用Lag和Lead做這樣的邏輯的CASE語句的內部:
UPDATE TABLE
SET VALUE = CASE
WHEN VALUE = 1023
THEN (
Lag(Value, 1) OVER (PARTITION BY meternum ORDER BY row_id ASC)
+ Lead(Value, 1) OVER (PARTITION BY meternum ORDER BY row_id ASC)
)/2
ELSE VALUE
END
滯後和鉛的窗口功能。滯後將返回指定的記錄數(這裏我們回去1)並獲取一個值。它通過PARTITION BY子句確定哪些記錄(這裏只返回具有相同的MeterNum的記錄),並通過ORDER BY子句(通過row_id在這裏排序)確定這些記錄的順序。
+0
非常感謝,完美無缺。但有一個問題,如果值= 1023的值超過2個時間間隔一致,那麼我應該將第一個和最後一個相關值取平均值,並將其應用於多個1023值,例如: Ex:值爲24,1023 ,1023,1023,32,那麼我應該採用24和32的平均值,並將這個值應用於所有三個1023值。 你能爲此提出任何建議嗎? @JNevill – user1960217
相關問題
- 1. 如何在基於SQL CASE語句的WHERE條件中過濾記錄
- 2. 如何在sql case語句中使用> =條件?
- 3. 的Oracle SQL條件外連接使用case語句
- 4. 在select語句中使用case條件
- 5. 如何在條件間使用SQL CASE語句
- 6. SQL:如何在一條SQL語句中查找總數和平均值?
- 7. 如何在符合條件的sql中選擇多條記錄
- 8. 如何平均只有記錄符合Access中某些條件的字段?
- 9. 使用proc在sas中插入一條平均記錄sql
- 10. SQL CASE語句值
- 11. SQL如何檢查連續N個記錄是否符合條件?
- 12. SQL - 如何查找帶有LIMIT的SQL語句的平均值?
- 13. 如何在sql中重用case語句
- 14. 在連接條件下的SQL case語句
- 15. SQL Developer - 帶條件的CASE語句
- 16. Case語句與WHERE條件的SQL
- 17. 如何在vb.net 2008中連續檢查記錄是否符合條件
- 18. 如何在oracle中使用case語句更改2列值sql
- 19. 在Sql中,如何使用case語句更改值?
- 20. 使用rails計算一條記錄中某行的平均值
- 21. 條件CASE語句語法
- 22. 如何在sql 2000的where子句中使用case語句
- 23. 如何使用標記來平均不連續數據塊?
- 24. 如何在Dropwizard中記錄SQL語句
- 25. 使用case語句插入值SQL Server
- 26. SQL case語句和使用返回值
- 27. 如何在JOIN語句中使用CASE根據條件連接兩個表?
- 28. 如何在MySQL中記錄連續的記錄集合
- 29. 在SQL中的左外部連接中使用CASE語句
- 30. 如何在有條件的地方使用case語句?
請回到漂亮的文字列表。如果任何人想要複製數據以進行測試以作出答案,則表格的圖片是無用的。只需在每行上用4個空格縮進文本列表,它將以書面形式顯示(請參閱我的編輯,然後再上一次編輯) – JNevill