这个分页方法转自:《SQL分页语句》,本人对原作者的方案二做了小小的改动:
原语句:
SELECT TOP 页大小 *
FROM table1
WHERE id >
(
SELECT ISNULL(MAX(id),0)
FROM
(
SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id
) A
)
ORDER BY id
改动如下: 页大小*(页数-1) + 1
SELECT TOP 页大小 *
FROM table1
WHERE id >=
(
SELECT ISNULL(MAX(id),0)
FROM
(
SELECT TOP 页大小*(页数-1)+1 id FROM table1 ORDER BY id
) A
)
ORDER BY id
SELECT TOP 页大小 *
FROM table1
WHERE id <=
(
SELECT ISNULL(MIN(id),0)
FROM
(
SELECT TOP 页大小*(页数-1)+1 id FROM table1 ORDER BY id DESC
) A
)
ORDER BY id DESC