题目
数据表结构为
create table Ques1
(
id int identity(1,1) primary key,--主键
[Name] nvarchar(50) not null,--学生姓名
Score int not null,--学生成绩
Class int not null--学生班级
)
要查询每班前两名学生的信息
-------------------------------
declare @class int
create table #temptable(id int,[name] nvarchar(50),score int,class int)
declare curClass cursor for select distinct(class) from stuscore
for read only
open curClass
fetch next from curClass into @class
while @@FETCH_STATUS=0
begin
insert into #temptable select top 2 * from stuscore where class=@class order by score desc
--print @class
fetch next from curClass into @class
end
close curClass
deallocate curClass
select * from #temptable
drop table #temptable
----注:先找班级distinct(class) ,把班级放在游标里面,然后根据班级照前两名成绩的学生信息放在临时表里
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步