sql我想取110-200 和300-400之间的数字,语句怎么写?
发布网友
发布时间:2022-04-11 17:54
我来回答
共5个回答
懂视网
时间:2022-04-11 22:16
题:取表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速度最快,请高手补充说明,谢谢
热心网友
时间:2022-04-11 19:24
你想得到110,111,112..200?
我没办法。。不过可以建一个表,设置一个数字的字段,然后循环插入到里面
如果你想的到110行-200行的数据
select *
from (select rownum as num,t.* from table t) t
where 1=1
and (t.num between 110 and 200
or t.num between 300 and 400)
热心网友
时间:2022-04-11 20:42
select * from table t where (t.value >= 110 and t.value < 200) or (t.value >= 300 and t.value < 400)
热心网友
时间:2022-04-11 22:16
可以用in的方式
热心网友
时间:2022-04-12 00:08
between ...and...追问不能写2个between啊