[攒分贴]每日小知识-sql获取第n行
如何在一个没有主键的表中获取第n行数据,在sql2005中可以用row_number,但是必须指定排序列,否则你就不得不用select into来过渡到临时表并增加一个排序字段。
用游标的fetch absolute语句可以获取绝对行数下的某行数据,测试代码如下:
- SQL code
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 testopen myCursorfetch absolute 3 from myCursor close myCursordeallocate myCursor--删除测试环境drop table testset nocount off/*--id name----------- ----------999 sqlserver--*/
--------------------
很多人发蛋贴攒分,我也发发,但是有1分,发了也不能白发,我会随口说个技术基础点,不只局限于代码。
高手可以忽略本贴
[解决办法]
呵呵