求从数据表中取出第n条到第m条的记录的方法

来源:百度知道 编辑:UC知道 时间:2024/06/01 02:42:34
曾在网上看到了一篇小短文《从数据表中取出第n条到第m条的记录的方法》,全文如下:
从publish 表中取出第 n 条到第 m 条的记录:
SELECT TOP m-n+1 *
FROM publish
WHERE (id NOT IN
(SELECT TOP n-1 id
FROM publish))
id 为publish 表的关键字

俺太笨了,看不明白,
如果我想查询publish这个表里倒数第二条到倒数第九条的记录,
语法应该怎么写呢?
请大家帮帮忙啊,先谢谢啦

数据表中取出第n条到第m条的记录的方法:
已经知道要取的ID,如取10到15之间:
select * from publish where id between 10 and 15

倒数第二条到倒数第九条的记录:
我只有一相笨办法:
先取出最大ID:select top 1 id from publish order by id desc
得到最大:ID=rs("id")
然后:
select * from publish where id between "&id-1&" and "&id-9&"
办法笨点,不过肯定能成,呵呵。

把排列的方向反过来,就可以了,sql默认的是desc,改为asc就可以了
SELECT TOP m-n+1 *
FROM publish
WHERE (id NOT IN
(SELECT TOP n-1 id
FROM publish order by id asc))order by id asc

m=9,n=2