这个SQL查询语句怎么写

来源:百度知道 编辑:UC知道 时间:2024/05/11 05:04:45
表如下:
学号 0001 0002 0003 0001 0002 0003 0001
姓名 李 王 朱 李 王 朱 李
科目 语文 数学 语文 数学 语文 数学 外语
得分 86 59 73 62 35 58 25
以上这个表,所学科目数不限,要求查询出总分最好的前2名,类似这样的查询语句,那位大师知道的,告诉小妹下.谢谢!

你如果用的是oracle数据库可以这样写的:
select * from (select 姓名,sum(得分)as 总分from 表 group by 姓名order by sum(得分)desc)A where rownum<=2;

楼上写的不对,因为group 后的字段一定包含在所选的字段当中。

select top 2 sum(得分) 总分 from
table group by 姓名 order by 1 desc

select top 2 sum(得分) 总分 from
表 group by 姓名 order by 1 desc

Ryan管, 你懂不懂哦, 你知不知道order by 1是什么意思哦...

select top 2 sum(得分) 总分,姓名 from
table group by 姓名 having sum(得分)>all(select sum(得分) from table)