oracle不是一个表达式的组

时间:2011-03-28 19:10:27

标签: oracle10g

我有一个包含3列的表格。

订购类别
NAV_PER_SHARE
Number_OUTSTANDING_SHARES

现在:

SELECT ORDER_CATEGORY, SUM(OUTSTANDING_SHARES) GROUP BY ORDER_CATEGORY , it runs fine

可是:

SELECT ORDER_CATEGORY, NAV_PER_SHARE * SUM(OUTSTANDING_SHARES) GROUP BY ORDER_CATEGORY,它说:不是按表达式分组。

我错过了什么?

2 个答案:

答案 0 :(得分:2)

您不能分组,因为每个结果都会给出NAV_PER_SHARE。你的意思是

SUM(NAV_PER_SHARE*OUTSTANDING_SHARES)

答案 1 :(得分:2)

从它看起来,解决方案是使用子查询。

SELECT ORDER_CATEGORY, NAV_PER_SHARE * SUM_OF_OS
FROM (SELECT ORDER_CATEGORY, SUM(OUTSTANDING_SHARES) SUM_OF_OS
      GROUP BY ORDER_CATEGORY);

虽然,如果没有FROM关键字,我不确定您的一个查询是如何工作的。