【发布时间】:2016-06-24 11:41:43
【问题描述】:
我使用 oracle Apex。我创建了一个列 avg 来设置它的值
UPDATE emp
SET avg = SUM(price)
OVER (PARTITION BY id)/COUNT(DISTINCT date) OVER(PARTITION BY id);
我已经使用聚合函数成功生成了我想要的值,但我无法将其设置为列。建议我如何将查询结果设置为列。
【问题讨论】:
-
UPDATE emp SET avg = SUM(price) OVER (PARTITION BY id)/COUNT(DISTINCT date) OVER(PARTITION BY id) AS Price FROM EMP
-
试过了。我认为我们不应该使用聚合函数来设置语句。但是我不确定
-
除了
SUM(price) / COUNT(DISTINCT date)看起来很可疑之外,您不应该存储该值。您正在展示可以从现有数据中获得的价值,因此不要创建冗余。 (并且您不应该使用 SQL 单词作为名称,例如avg和date。) -
我在这里替换了 avg 和 date 变量。我想将数据添加到现有表中,这实际上是我的问题。
标签: sql oracle sql-update oracle-apex window-functions