服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - sql 取两值之间的数据方法(例:100-200之间的数据)

sql 取两值之间的数据方法(例:100-200之间的数据)

2019-11-23 18:39MSSQL教程网 Sql Server

这里只列举3种我测试的方法,还有别的方案就由高手补上了,3种方案的效率也不竞相同,我一直认为not in效率不好,但在这里使用not in速度最快,请高手补充说明,谢谢

题:取表table中100条-200条之间数据 

方法1:临时表 

复制代码代码如下:


select top 200 * into #aa from table order by time-- 将top m笔插入 临时表 
set rowcount 100 
select * from #aa order by time desc 

--drop table #aa --删除临时表 




方法2: 

复制代码代码如下:


select top 100 * from 
(select top 200 * from table order by time asc) a 
order by time desc 




方法3:not in 

复制代码代码如下:


select top 100 * from v_company where ( 
id not in 
(select top 100 id from v_company order by id asc) 
) order by id asc 




这里只列举3种我测试的方法,还有别的方案就由高手补上了,3种方案的效率也不竞相同,我一直认为not in效率不好,但在这里使用not in速度最快,请高手补充说明,谢谢

延伸 · 阅读

精彩推荐