一尘不染

SQL不是单个组的组函数错误

sql

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

阅读 146

收藏
2021-03-10

共1个答案

一尘不染

当在查询中包含聚合函数(例如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
2021-03-10