主题:有关SQL Server 2000中group by的用法
这几天用2000的个人版写了这么一个查询语句
select S.sname,avg(score)
from S,SC
where S.sno=SC.sno
group by SC.sno
having avg(score)>=60
S是学生关系(sno是学号)
SC是学生的选课关系
执行时系统提示说列 'S.sname'(就是学生的名字啦) 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中
而把group by 后的SC.sno改为S.sname就成功了
为什么?是不是2000的group by 后的属性一定要在select中出现?望高手指教!不胜感谢!
select S.sname,avg(score)
from S,SC
where S.sno=SC.sno
group by SC.sno
having avg(score)>=60
S是学生关系(sno是学号)
SC是学生的选课关系
执行时系统提示说列 'S.sname'(就是学生的名字啦) 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中
而把group by 后的SC.sno改为S.sname就成功了
为什么?是不是2000的group by 后的属性一定要在select中出现?望高手指教!不胜感谢!