显示具有最高平均分数的学生列表

时间:2012-10-24 14:03:23

标签: sql-server

1)下面的脚本创建了两个表;您的任务是编写SQL查询,该查询显示具有最高平均分数的学生列表。请提供两种具有以下限制的解决方案  a)既不使用子查询也不使用游标,也不能使用其他表  b)既不使用子查询也不使用游标,也不能使用附加表,也不能使用GROUP BY子句

create table Students
(ID int identity(1,1) primary key not null,
 StudentName varchar(200) not null,
 );

create table StudentMarks
(ID int identity (1,1) primary key not null,
 Student_ID int not null references Students (ID),
 Mark int not null check (mark between 1 and 5));

 insert into Students 
 (StudentName)
 values 
 ('Ivanov'),
 ('Petrov'),
 ('Sydorov'),
 ('Semenov');


 insert into StudentMarks
 (Student_ID,Mark)
 values
 (1,3), (1,4), (1,3), (1,5),
 (2,3), (2,4), (2,3), (2,5),
 (3,3), (3,3), (3,5), (3,3)

这是我到目前为止所尝试的内容:

select Student_ID 
from StudentMarks 
where MAX(AVG(Mark))=AVG(Mark) 
GROUP BY Student_ID

0 个答案:

没有答案