急:请教一个select语句,谢谢!

jimoren 2004-11-25 10:04:58
有一个表,结构为 学生号,班机号,分数
现在要求写select语句,查询出每一个班里分数的前3名怎么写?
谢谢!!!!!!!!
...全文
125 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yelook 2004-11-25
  • 打赏
  • 举报
回复
declare @t table
(
[studentno] varchar(20),
[classno] varchar
)

declare MyCursor Cursor
global scroll static
for select select distinct 班级号 from table
open MyCursor
declare @deptID smallint
fetch next from MyCursor into @deptID
while (@@fetch_status=0)
begin
insert into @t (studentno,classno) select top 3 studentno,classno from table where classno =@deptID
fetch next from MyCursor into @deptID
end
close MyCursor
deallocate MyCursor
select * from @t
zjcxc 2004-11-25
  • 打赏
  • 举报
回复
表中应该是有主键的吧? 条件改为
where 主键 in(select top 3 主键 from 表 where 班机号=a.班机号 order by 分数 desc)

就可以避免取超过3条的记录,因为分数相同有个取谁的问题,所以就用了分数,这样公平嘛
zhtln 2004-11-25
  • 打赏
  • 举报
回复
select * from 表 a
where 班级号 in(select top 3 班级 from 表 where 班级号=a.班级号 order by 班级号,分数 desc)
Amphibian 2004-11-25
  • 打赏
  • 举报
回复
我觉得 分数的前3名 怎么理解是个问题

1 100
2 100
3 100
4 98
5 99
6 97

对于这种数据,是应该选出1 ,2,3 还是需要选出1 4 5
jimoren 2004-11-25
  • 打赏
  • 举报
回复
可以了,问题是如果两个人同分,即一旦有人并列第一或者第二或者第三名....则一个班里会出现4条以上的记录.....
呵呵...如果去之?
可讨论.
我先结贴了.
结贴说明:我的原则是谁解决问题,谁得益.这样则可排除了混水者....
iswear428 2004-11-25
  • 打赏
  • 举报
回复
可以吧,我刚刚试过
zjcxc 2004-11-25
  • 打赏
  • 举报
回复
不行吗?
拿数据出来测试一下
jimoren 2004-11-25
  • 打赏
  • 举报
回复
??
怎么没人回复了?
呵呵
jimoren 2004-11-25
  • 打赏
  • 举报
回复
select * from 表 a
where 分数 in(select top 3 分数 from 表 where 班机号=a.班机号 order by 分数 desc)

邹这个还是不行,可以测试一下.................
friendliu 2004-11-25
  • 打赏
  • 举报
回复
select top 3 * from 表1 order by 分数 desc
zjcxc 2004-11-25
  • 打赏
  • 举报
回复
select * from 表 a
where 分数 in(select top 3 分数 from 表 where 班机号=a.班机号 order by 分数 desc)
lsxaa 2004-11-25
  • 打赏
  • 举报
回复
select * from t a
where (select count(*) from t where 班级号=a.班级号 and 分数>=a.分数)<=3
txlicenhe 2004-11-25
  • 打赏
  • 举报
回复
select * from 表 a
where 分数 in (select top 3 分数 from 表 where 班级号 = a.班级号)
xuam 2004-11-25
  • 打赏
  • 举报
回复
select top 3 * from 表 order by 分数 desc

27,580

社区成员

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

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