SELECT TOP N * FROM (SELECT TOP 2N * FROM Doc WHERE docSort=’Java’ ORDER BY id DESC) ORDER BY id ASC
到这里我想大家已经都明白了吧,子查询得到逆序排列的前2N条记录,然后把这2N条记录按正序排列得到前N条记录。OK了,这里的前N条记录,实际上就是我们想要的第N到第2N条记录。下面是一个具体的例子: 注:其中的PageSize(分页的大小)和PageIndex(分页索引,初始假设为0)均为变量,请相应处理。 SELECT * FROM ( SELECT TOP [PageSize] * FROM ( SELECT TOP [PageSize * (PageIndex + 1)] * FROM Doc WHERE docSort=’Java’ ORDER BY id DESC ) ORDER BY id ASC ) ORDER BY id DESC