SQL Server 2000 中这样写查询可以吗

来源:百度知道 编辑:UC知道 时间:2024/06/15 00:51:37
要‘查询score表中的最高分的学生学号和课程号’的SQL语句?

给出的标准答案是这样的:
select no as '学号', cno as '课程号', max(degree) as '最高分'
from score

我照着试了几次每次都报错:列 'score.no' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。

怎么回事啊?我看的这本书上后面还有很多这样的题目都是这样的问题,不知道是因为这本书太老了,过时了,还是怎么回事,请各位指教?

如果书上答案真是这样,书上明显错了。
需要这样:
select no as '学号', cno as '课程号', max(degree) as '最高分'
from score group by no,cno

对某字段拿max值,group by 怎么能不写呢。。。

除非select max(degree) as '最高分' from score
就1个字段可以