3个回答
展开全部
什么数据库啊
给你个适用于sqlserver2005以上或oracle10G以上
select t.* 差族中from
(select 表虚山名.*,row_number() over (partition by 学号 order by 成绩 desc) 穗饥rn from 表名) t
where rn<=3 order by t.学号,t.成绩 desc
更多追问追答
追问
MySql,不知道适用不
追答
mysql可能不适用
得用这个,你把表名换一下你自己的
select * from
(select 学号,科目,成绩,rank from (
select 学号,科目,成绩,@rownum:=@rownum+1 ,
if(@学号=t_tmp.学号,@rank:=@rank+1,@rank:=1) as rank,
@学号:=t_tmp.学号
from (
select 学号,科目,成绩 from 表名 order by 学号 asc ,成绩 desc
) t_tmp ,
(select @rownum :=0 , @学号 := null ,@rank:=0) a
) result) s
where rank<=3;
数位汇聚
2023-08-28 广告
2023-08-28 广告
1、数位观察新增一个数据搜索平台:数位观察,不用费力的去各个平台找数据,通过这个平台搜索或勾选需要的标签就行,就能找到各个维度的数据。提供12大类、50多万个数据和数据报告(基本上覆盖了市面上所有细分行业)。在网站首页就有全面又详细的数据分...
点击进入详情页
本回答由数位汇聚提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询