用sql如何统计成绩单里各科目前5名的成绩?

zsulam 2006-06-22 04:46:58
假设表如:成绩单(科目, 分数),里面含各科目的分数,用sql统计各科目前5名的成绩
...全文
765 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinank 2006-06-24
  • 打赏
  • 举报
回复
select top 5 .....
冷箫轻笛 2006-06-22
  • 打赏
  • 举报
回复
select * from 成绩单 t1
where 分数 in
(select distinct top 5 分数 from 成绩单 where 科目 = t1.科目 order by 分数 desc)
点点星灯 2006-06-22
  • 打赏
  • 举报
回复
SELECT * FROM 成绩单 a
WHERE 5>(SELECT COUNT(*) FROM 成绩单 b WHERE a.分数<b.分数 and a.科目=b.科目)
点点星灯 2006-06-22
  • 打赏
  • 举报
回复
declare @tab table(c_1 varchar(20),c_2 varchar(20), c_3 int)

insert @tab values('A','A1',21)
insert @tab values('A','B1',20)
insert @tab values('B','A1',3)
insert @tab values('B','B1',4)
insert @tab values('B','C1',2)
insert @tab values('C','D1',10)


select a.c_1,[排名]=(select count(1) from @tab where c_1=a.c_1 and a.c_3<=c_3),a.c_2,a.c_3
from @tab a order by c_1,c_3

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧