SQL选出一列中最大的数怎么写?

来源:百度知道 编辑:UC知道 时间:2024/05/19 13:03:23
例题:
选出学生中平均成绩最高的学生的学号、姓名和平均成绩。

有两个表
student(学号,姓名,性别,籍贯,年龄)
skb(学号,课号,成绩)

select A.学号,A.姓名,avg(B.成绩) as 平均成绩 from student A,skb B gruop by A.学号 order by 平均成绩 desc

这是安平均成绩从好到差排序
如果你需要选出第1名或者前N名
在select 前面加个set rowcount N 就行了,或者写成select top n A.学号......

SQL不会!!!!

select max(avgsk) as 平均成绩,stu.学号,stu.姓名 from student stu ,(select avg(成绩),学号 from skb sk group by 学号 ) avgsk
where stu.学号=avgsk.学号

2楼的可以了

select a.学号, 姓名 , avg(成绩) from student a, skb b
group by 学号 , 姓名 having a.学号= b.学号 order by 成绩 desc

在本机测试过了

select * from
(select skb.学号,sum(成绩) as sum_score,avg(成绩) as avg_score from skb group by 学号) tmp left outer join student on student.学号=tmp.学号 where sum_score=(select max(sum_score) from (select skb.学号,sum(成绩) as sum_score,avg(成绩) as avg_score from skb group by 学号) a)