我已经搜索了一段时间了解如何执行此操作,但我几乎没有在一周内使用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