我的SQL查询如下:ORACLE GROUP BY错误
SELECT
oh.ORDER_NUMBER, oh.CREATED_TS, stat.STATE, stat.TIMESTAMP
FROM
IMPL_OH_ORDER_HEADER oh,
SNCR_ORDER_DISPOSITION stat,
SNCR_ORDER_DISP_HEAD stathead,
IMPL_CUST_ACCOUNT cust
WHERE
stat.DISP_TRANSACTION_ID=stathead.DISP_TRANSACTION_ID
and stathead.TRANSACTION_ID=oh.TRANSACTION_ID
and oh.ACCOUNT_ID=cust.ACCOUNT_ID
and stat.CATEGORY=100
and oh.USER_ID='a'
and cust.ACCOUNT_NUM='123'
GROUP BY oh.ORDER_NUMBER
ORDER BY stat.TRX_SEQ DESC;
这是给下面的错误:ORA-00979: not a GROUP BY expression
如果删除了GROUP BY表达,我没有得到这个错误。
什么是正确的GROUP BY语法?
研究:谷歌搜索说,如果使用AGGREGATE函数,我应该在GROUP BY子句中使用聚合函数未使用的所有字段。所以我试图将GROUP BY表达式修改为GROUP BY oh.ORDER_NUMBER, oh.CREATED_TS, stat.TIMESTAMP, stat.STATE
。
但是我收到了同样的错误。
请帮忙。
当没有必要groupby你为什么这样做? – SriniV