SQL中这个group 为什么要加ssumc啊

视图vsumc,包含每个选了课的学生获得的学分(成绩及格才能得学分)。两列分别为学号和总学分(列名:ssumc)。使用vsumc视图,查询平均分大于等于65分的学生的学号,平均分(列名:savg),总学分(列名:ssumc)。
正确答案是select vsumc.sno,avg(grade) as savg,ssumc
from SC
right join vsumc
ON SC.sno=vsumc.sno
group by vsumc.sno,ssumc
having avg(grade)>=65;
去掉group by 中的ssumc就显示错误,为什么呀,不是按照学号分类就可以了吗

Group By中Select指定的字段限制
select后的字段:
  要么就要包含在Group By语句的后面,作为分组的依据;
要么就要被包含在聚合函数中。
 错误:

       SELECT name, salary FROM student GROUP BY name
       select 后的字段 salary 不在 group by 后面,所以salary无法显示全部值。

 正确1:

       SELECT name, salary FROM student GROUP BY name , salary     
       select 后的字段 name,salary 都包含在group by 后面,两个字段分组。

正确 2:

    SELECT name,MAX(salary) FROM student GROUP BY name
       select 后的字段 salary 虽然不在 group by 后面,但是在聚合函数MAX(salary)里面,所以只会有一个值会正确。

所以在你的select中查询了ssumc字段 group by 就需要去分组 不能去除
推荐学习下group by用法
https://www.cnblogs.com/YH-shjd-senvn/p/15890258.html

因为你最后还要查出ssumc这一列不是吗?你把ssumc列去掉,再去掉group中的ssumc就OK了