提取第N页的30条记录怎么写?
从publish 表中取出第 n 条到第 m 条的记录,可以这样写:
SELECT TOP m-n+1 *
FROM publish
WHERE (id NOT IN
(SELECT TOP n-1 id
FROM publish))
但现在我要从第N页(每页30条记录)开始提取前30条记录,于是我就理所当然的这样写:
SELECT TOP 30 *
FROM publish
WHERE (id NOT IN
(SELECT TOP (N-1)*30 id
FROM publish))
可数据库总提示出错,现在我想,大概是*在这里即是乘号,又是代表全部的意思,所以数据库出错了。
我应该怎么办?