我很难让我的Oracle开发人员查询正确输出。当我具有avg函数时,它不会给我一个单一的组组错误。当我将其取出时,效果很好。我试过使用group by代替order by,但是它告诉我它不是一个group by表达式。

SELECT LGBRAND.BRAND_ID, LGBRAND.BRAND_NAME, AVG(LGPRODUCT.PROD_PRICE)AS AVGER
FROM LGPRODUCT, LGBRAND
WHERE LGPRODUCT.BRAND_ID = LGBRAND.BRAND_ID
ORDER BY BRAND_NAME;

最佳答案

当在查询中包括聚合函数(例如avg,sum)时,必须按未聚合的所有列进行分组。

SELECT LGBRAND.BRAND_ID, LGBRAND.BRAND_NAME, AVG(LGPRODUCT.PROD_PRICE)AS AVGER
FROM LGPRODUCT, LGBRAND
WHERE LGPRODUCT.BRAND_ID = LGBRAND.BRAND_ID
GROUP BY
LGBRAND.BRAND_ID,
LGBRAND.BRAND_NAME
ORDER BY BRAND_NAME

关于sql - SQL不是单个组的组函数错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20207508/

10-11 05:01