微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sqlserver获取第n行数据

 如何在一个没有主键的表中获取第n行数据,在sql2005中可以用row_number,但是必须指定排序列,否则你就不得不用select into来过渡到临时表并增加一个排序字段。
用游标的fetch  absolute语句可以获取绝对行数下的某行数据,测试代码如下:
set nocount on
--建立测试环境并插入数据,并且表没有主键
create table test(id int,name varchar(10))
insert into test select 999,'jinjazz'   
insert into test select 888,'csdn' 
insert into test select 999,'sqlserver'

--通过游标获取绝对行数
declare myCursor scroll  cursor for select * from  test
open myCursor
fetch  absolute  3  from  myCursor 
close myCursor
deallocate myCursor

--删除测试环境
drop table test
set nocount off
/*--
id          name
----------- ----------
999         sqlserver
--*/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐