为什么此SQL语句错误?

时间:2019-07-14 23:49:19

标签: sql oracle aggregate-functions

鉴于下表-标记-为什么以下陈述是错误的?

SELECT student_name, SUM(subject1)
FROM marks
WHERE student_name LIKE 'R%';

以下是“标记”表 enter image description here

2 个答案:

答案 0 :(得分:3)

每当我们执行SUM,AVG等聚合功能时,您都需要添加 GROUP BY

  

SELECT student_name,SUM(subject1)   FROM标记
  学生名   LIKE'R%'GROUP BY student_name;

希望这对您现在有用!

答案 1 :(得分:0)

为什么错了?

SUM()使其成为聚合查询。没有GROUP BY的情况下,聚合查询很好。它返回一行,并且SELECT中的所有列应为聚合函数。

但是,您有未汇总的列student_name。它不在GROUP BY中,也不是聚合函数的参数。

大概您想要GROUP BY student_name。但是还有其他可能性,例如MIN()MAX()LISTAGG()