2011-03-28 3 views
1

3 개의 열이있는 테이블이 있습니다.오라클이 아닌 표현식 그룹

주문 CATEGORY
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

, 그것은 말한다 : 표현으로하지 않습니다 그룹.

무엇이 누락 되었습니까?

+0

[ORA-00979 (표현식 기준 그룹이 아님)] 가능한 복제본 (https://stackoverflow.com/questions/1520608/ora-00979-not-a-group-by-expression) – Ben

답변

2

결과 당 NAV_PER_SHARE이 주어지기 때문에 그룹을 지정하지 마십시오. 당신은

SUM(NAV_PER_SHARE*OUTSTANDING_SHARES) 

을 의미합니까?

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 키워드없이 어떻게 작동하는지 모르겠습니다.

관련 문제