我很难让我的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/