SQL 在学生中查询出第5名至第10名的学生(只要第五名到第十名这个区间的数据)

yoyoforevermark 2014-01-05 10:42:41
SQL 在学生中查询出第5名至第10名的学生(只要第五名到第十名这个区间的数据)
按照Score_sum的从高到低排序。
求详细代码。谢谢!
...全文
3026 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
取n到m行

1. 
select top (n-m+1) * from tablename where id not in (select top n id from tablename order by id asc/*|desc*/) 

2. 
select top m * into 临时表(或表变量) from tablename order by columnname -- 将top m笔插入到临时表 
set rowcount n   --只取n条结果
select * from 表变量 order by columnname desc 

3. 
select top n * from  
(select top m * from tablename order by columnname) a 
order by columnname desc 


4.如果tablename里没有其他identity列,那么: 
先生成一个序列,存储在一临时表中.
select identity(int) id0,* into #temp from tablename 

取n到m条的语句为: 
select * from #temp where id0 > =n and id0  <= m 

如果你在执行select identity(int) id0,* into #temp from tablename这条语句的时候报错,那是因为你的DB中间的select into/bulkcopy属性没有打开要先执行: 
exec sp_dboption 你的DB名字,'select into/bulkcopy',true 


5.如果表里有identity属性,那么简单: 
select * from tablename where identity_col between n and m  

6.SQL2005开始.可以使用row_number() over()生成行号
;with cte as
(
 select id0=row_number() over(order by id),* from tablename
)
select * from cte where id0 between n to m
方法太多了啊
Yole 2014-01-06
  • 打赏
  • 举报
回复


select * from a where Score_sum 
not in (select top 4 Score_sum from a order by Score_sum desc) 
order by Score_sum desc

發糞塗牆 2014-01-06
  • 打赏
  • 举报
回复
看你的截图,应该是2005或者以上版本,可以用下面代码,对最外层的*号处理一下就可以了。比如把oid在最外层不显示,或者选择你需要的列
SELECT  *
FROM    ( SELECT    * ,
                    ROW_NUMBER() OVER ( ORDER BY score_suDESCsc ) oid
          FROM      TB
        ) a
WHERE   oid BETWEEN 5 AND 10
mkinglife 2014-01-06
  • 打赏
  • 举报
回复
if OBJECT_ID('tt') is not null drop table tt
create table tt(Std_id int,Score_Date datetime,Chinese float,Math float,Score_sum float)
insert into tt values (1,GETDATE(),1,2,3)
insert into tt values (2,GETDATE(),2,3,5)
insert into tt values (3,GETDATE(),3,4,7)
insert into tt values (4,GETDATE(),4,5,9)
insert into tt values (5,GETDATE(),5,6,11)
insert into tt values (6,GETDATE(),6,7,13)
insert into tt values (7,GETDATE(),8,9,17)
insert into tt values (8,GETDATE(),9,10,19)
insert into tt values (9,GETDATE(),10,11,21)
insert into tt values (10,GETDATE(),11,12,23)
insert into tt values (11,GETDATE(),12,13,25)
insert into tt values (12,GETDATE(),13,14,27)

select * from tt
--取得5-10的数据
select * from (select *,ROW_NUMBER() over(order by Score_sum desc) as row  from tt) as tts  where tts.row >= 5 and tts.row<= 10 
楼上各位大神写的都很好,个人练手写了一下算是一个记录。希望能帮助到你~
「已注销」 2014-01-06
  • 打赏
  • 举报
回复
引用 3 楼 TravyLee 的回复:
取n到m行

1. 
select top (n-m+1) * from tablename where id not in (select top n id from tablename order by id asc/*|desc*/) 

2. 
select top m * into 临时表(或表变量) from tablename order by columnname -- 将top m笔插入到临时表 
set rowcount n   --只取n条结果
select * from 表变量 order by columnname desc 

3. 
select top n * from  
(select top m * from tablename order by columnname) a 
order by columnname desc 


4.如果tablename里没有其他identity列,那么: 
先生成一个序列,存储在一临时表中.
select identity(int) id0,* into #temp from tablename 

取n到m条的语句为: 
select * from #temp where id0 > =n and id0  <= m 

如果你在执行select identity(int) id0,* into #temp from tablename这条语句的时候报错,那是因为你的DB中间的select into/bulkcopy属性没有打开要先执行: 
exec sp_dboption 你的DB名字,'select into/bulkcopy',true 


5.如果表里有identity属性,那么简单: 
select * from tablename where identity_col between n and m  

6.SQL2005开始.可以使用row_number() over()生成行号
;with cte as
(
 select id0=row_number() over(order by id),* from tablename
)
select * from cte where id0 between n to m
方法太多了啊
【四轴飞行器的位移控制】控制四轴飞行器的姿态和位置设计内环和外环PID控制回路(Simulink仿真实现)内容概要:本文围绕四轴飞行器的位移控制展开,重点介绍如何通过设计内环和外环PID控制回路来实现对其姿态和位置的精确控制。外环负责根据期望位移生成姿态指令,内环则依据这些指令调节飞行器的实际姿态,从而实现稳定的位置跟踪。整个控制系统在Simulink环境进行建模与仿真,便于验证控制策略的有效性与鲁棒性。文详细阐述了四轴飞行器的动力学模型、控制结构设计原理以及PID参数整定方法,帮助读者深入理解飞行器控制的核心机制。; 适合人群:具备自动控制理论基础和Simulink仿真经验的高校学生、科研人员及从事无人机控制开发的工程师。; 使用场景及目标:①用于教学实践帮助学生掌握多变量控制系统的设计方法;②为无人机姿态与位置控制系统的开发提供可复现的仿真框架;③支持进一步研究高级控制算法(如串级控制、自适应控制)在飞行器的应用。; 阅读建议:建议读者结合Simulink模型同步操作,动手调试PID参数以观察系统响应变化,加深对内外环协同控制机制的理解,并可在此基础上拓展为非线性或智能控制策略的研究。

34,872

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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