oracle not a group by expression
I have a table with 3 columns.
ORDER CATEGORY
NAV_PER_SHARE Number_OUTSTANDING_SHARESNow:
SELECT ORDER_CATEGORY, SUM(OUTS开发者_StackOverflowTANDING_SHARES) GROUP BY ORDER_CATEGORY , it runs fine
But:
SELECT ORDER_CATEGORY, NAV_PER_SHARE * SUM(OUTSTANDING_SHARES) GROUP BY ORDER_CATEGORY
, it says : Not a group by expression .
What am I missing?
You caNnot group because NAV_PER_SHARE
is given per result. Did you mean
SUM(NAV_PER_SHARE*OUTSTANDING_SHARES)
?
From what it looks like, the solution would be to use a subquery.
SELECT ORDER_CATEGORY, NAV_PER_SHARE * SUM_OF_OS
FROM (SELECT ORDER_CATEGORY, SUM(OUTSTANDING_SHARES) SUM_OF_OS
GROUP BY ORDER_CATEGORY);
Although, I'm not sure how your one query works without a FROM
keyword.
精彩评论