var iPage = getPage(); // 获取当前页
var iPageSize = 20;// 每页的记录数量 var sql = "SELECT TOP "+ iPageSize +" ID,User FROM [Users] WHERE age > 18 AND " + " ID NOT IN ( SELECT TOP "+ iPageSize*(iPage -1) +" ID FROM [Users] WHERE age > 18 ORDER BY ID DESC )" + " ORDER BY ID DESC"; 如果排序列不是自动增长的ID列,那么这里的数据会紊乱。 2014/02/28 更新,使用 row_number(), over(), between 分页 $page -- 变量:当前页码 $size -- 变量:每页条数 SQL 2005的 ROW_NUMBER() & OVER() 分页法,应对排序列非ID(自动增长)的情况 select * from ( select id, name, code, addtime, row_number() over(order by rank desc) as num from employees) as temp
where num between (($page-1) * $size + 1) and $page * $size;
|