我已經搜索了一段時間瞭解如何執行此操作,但我幾乎沒有在一週內使用SQL Dev,所以我可能會丟失一些明顯的東西。從一列或另一列中提取數據的平均值,基於一列的NULL
我想查詢基於兩列的平均值。我可以單獨獲得每列的平均值,但是我有進一步的麻煩。這裏的表格格式:
Value Override ID Hourend
19 (Null) 1 6:00
23 (Null) 1 4:00
45 18 1 6:00
66 (Null) 2 6:00
68 (Null) 2 5:00
72 (Null) 1 5:00
81 45 1 5:00
我想要的是每小時價值列的平均值,按ID。我已經使用了:
SELECT AVG (Value)
(OVER (PARTITION BY ID, Hourend) as Average
FROM Database.Table;
但是,我還需要有一個平均值,當不是空值時,用同一行的替代值代替。所以基本上我需要一種方法來拉動覆蓋而不是價值時,覆蓋不是空。
我已經擺弄CASE語句和其他工具,但迄今尚未成功。效率在這一點上並不重要,我只需要讓它工作。任何幫助是極大的讚賞!
怎麼樣的情況下'CASE時覆蓋IS NOT NULL然後覆蓋ELSE值END' – JonH 2015-02-24 16:38:13