假设共有18(TotalRowNum)条数据,PageSize设为5
SELECT TOP 5 * FROM
(SELECT TOP 5 * FROM
(SELECT TOP 15 ID, Title, Detail, CreateTime FROM BusinessInfo ORDER BY CreateTime DESC, ID ASC) --最内层Top按照所需要的排序规则选出第n页的全部数据,15 = 3(CurrentPageNumber)×5(PageSize)
ORDER BY CreateTime ASC, ID DESC)
--将所选出的数据按照所需的排序规则逆向排序,这样所需要的数据就跑到开始,然后用Top N就可以选出当前也我们所需要的数据。N = CurrentPage==MaxPage?TotalRowNum - (CurrentPage-1)*PageSize : PageSize 5=5(PageSize) 当前为第三页,总共有4页
ORDER BY CreateTime DESC, ID ASC
--最后将我们选出的数据再按照我们需要的方式再进行一次排序就好了