You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle分析视图中使用SUM聚合函数报错ORA-00934求助

Oracle分析视图SUM聚合报错ORA-00934的解决方法

问题描述

尝试创建Oracle分析视图,用SUM聚合函数汇总指定层级的数量,代码如下:

CREATE OR REPLACE ANALYTIC VIEW inventory_av
USING INVENTORY_FACT
DIMENSION BY (
    inventory_attribute_dim KEY (LOCATION_ID)
    REFERENCES (LOCATION_ID)
    HIERARCHIES (inventory_hier DEFAULT)
)
MEASURES (
   QUANTITY FACT QUANTITY ,
   QUANTITY_SUM as (SUM(QUANTITY))
);

执行后报错:

Error report -
ORA-00934: group function is not allowed here
00934. 00000 - "group function is not allowed here"
*Cause:
*Action:

错误原因

Oracle分析视图的MEASURES子句不支持直接使用SUM这类组函数定义度量,必须使用分析视图专属的聚合语法声明聚合逻辑,否则会触发ORA-00934错误。

修正后的代码

CREATE OR REPLACE ANALYTIC VIEW inventory_av
USING INVENTORY_FACT
DIMENSION BY (
    inventory_attribute_dim KEY (LOCATION_ID)
    REFERENCES (LOCATION_ID)
    HIERARCHIES (inventory_hier DEFAULT)
)
MEASURES (
   QUANTITY FACT QUANTITY,
   QUANTITY_SUM AS AGGREGATE(QUANTITY) USING SUM
);

说明

  • 采用AGGREGATE(基础度量) USING 聚合函数的语法替代直接调用SUM函数,这是Oracle分析视图定义聚合度量的标准方式。
  • 定义完成后,查询分析视图时,Oracle会自动根据指定的层级(inventory_hier)对QUANTITY_SUM执行相应的汇总计算。

内容的提问来源于stack exchange,提问作者Neeraj Behera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 17:15:58