sql语句:获取表中第N个记录怎么获取?在线求助

本来我是这样写的 SELECT * FROM TABLE WHERE id=n
后来部分数据删掉后,id变的不连续了,现在该怎么写呢?
select top 1 * from table where id in (select top 50 id from table order by id desc)
用这个好像不行的

第1个回答  2010-06-05
select row_number() over(order by ID) sid,* from T_FBF_ACCOUNT
row_number()是sql server特有的函数,需要与over同时使用,然后然ID排序,把表改成你自己 的表,就好啦、、
第2个回答  2010-06-05
应该是not in 给你个例子
比如要查找记录的第51条记录则:
select top 1 * from table where id not in (select top 50 id from table)
以此类推 懂了吧?
第3个回答  2010-06-05
可以这样
select top 1 * from (select top 50 id from table order by id desc) a order by a.id desc
第4个回答  2010-06-05
select * from table limit 1,n;
相似回答