想从SQL中提取中间的第N条到N+5数据

我想从数据库中读取第N条至第N+5条数据,暂定为第5条到第10条数据。
由于本人曾有删除的操作,自动编码已经不是顺着下去的,但我想读取第5条到第10条数据,该用什么SQL语言来读取呢?
当然最好是可以能代到sql=" "里面的格式。
请高手门指教。
我是菜鸟,所以希望能详细说明一下~~~
不想用FOR那类的来搜索,想问一下能不能用SQL语言来解决,用FOR的话,好象会好慢,SQL语言会快点的吧!?

"select top "+m+" * from 表 where 表.主键 in (select top "+n+" 表.主键 from 表) order by 表.主键 desc
就像你说的,第5-10条记录。
那么n=10,m=5

()里先去前10条,外面的语句是把前十条到过来排,然后去前5条,就是5-10条了。
温馨提示:内容为网友见解,仅供参考
无其他回答

mysql获取第n条记录
1、开启电脑,并打开mysql的数据库,在数据库中点击并进入右上的查询,在点击查询下面的新建查询。如图,2、接下来就可以输入SELECT * from crew_1 order by gmt_create这个语句,然后表中的所有记录就会按时间排序查询。如图。3、如果需要获取表中按时间排序的第一条记录,就输入SELECT * from crew_...

用SQL取部分记录
从tablename 表中取出第 n 条到第 m 条的记录 SQL SERVER的写法 SELECT TOP m-n+1 FROM tablename WHERE (id NOT IN (SELECT TOP n-1 id FROM tablename))你这是一个分页算法的,我提供的比较简单,网上还有很多不错的,如果你对这个不满意,再去网上找找 关键字 “分页算法”ORACLE的话...

请教下access某一列序号从0开始排列的SQL怎么写,不是自增长的
没有主键,第一列为我ID,现在顺序乱了,中间插入了数据,请问下应该如何用sql写把这一列的数据从第一行开始,从0开始递增到N行如下:比如124567排列后是123456... 没有主键,第一列为我ID,现在顺序乱了,中间插入了数据,请问下 应该如何用sql写把这一列的数据 从第一行开始,从0开始递增到N行 如下: 比如1 2 ...

asp如何取出第几条到第几条数据
取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...

SQL查询排序后的中间几条数据 。急死认了高手来啊
你仅仅想要几万行里面的第2条和第3条?可以参考以下的:select top 2 * from 表1 where 时间<> (select max(时间) from 表1 )order by 时间 desc

SQL语句limit用法详解
limit的作用是获取表中前几条或中间某几行数据,仅在MySQL中生效。limit用法:limit 起始下标m,长度n ,m是记录开始的index,默认从0开始,表示第一条记录,n是指从第m+1条开始,取n条。下面通过两个例子来看SQL语句中limit的用法:1、取得表中最前面的几条记录 取前5个员工信息,全部员工的信息...

如何用sql语句查出数据库某个表里的第几条数据
查询第五条 select * from 表名 where rownum = 5

sql随机取n条数据
给你个参考 select from (select id,name,tid,rank()over(partition by tid order by sys_guid())rnd from table ) t where rnd <= 5 其中 rank()over(partition by tid order by sys_guid())的作用是求按tid分组然后按照sys_guid(相当于sql中的newid)排序后这一行所处的名次 ...

sql top sum 先取前5条后
00:00:00' order by riqi) s第二个查询语法没问题,但是得到的不是你想要的结果吧。这里还要提醒一下: 最好不要用top n来取有排序规定的前N条记录,因为这不能保证取出的N条数据就是这个排序规定下的前N条。最好用分析函数row_number() over来获取排序值,然后再取需要的记录。

sql语句查询结果只取从第m条开始到第n条结束请问该怎么做
取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...

相似回答
大家正在搜