sdxh0506 发表于 2016-11-2 07:47:58

SQL SERVER分页的一般写法

  一种字段为自增ID的分页情况
  (不带条件查询)
  SELECT TOP 页大小 *
FROM
Users
WHERE
(ID NOT IN (SELECT TOP (页大小*(页数-1)) ID FROM Users ORDER BY ID DESC))
ORDER BY
ID DESC
  (带条件查询)
  SELECT TOP 页大小 *
FROM
Users
WHERE
(ID NOT IN (SELECT TOP (页大小*(页数-1)) ID FROM Users WHERE 条件ORDER BY ID DESC))
AND 条件
  ORDER BY
ID DESC
  不为自增ID的需要另外考虑
  PS一个自己的分页:
  SELECT DISTINCT TOP 页大小 tm_time,tm_count,tm_remark
  FROM t_tight_smoke WHERE (tm_time<(SELECT MIN(tm_time)
  FROM (SELECT DISTINCT TOP开始查询的记录条数(即上面的算法) tm_time FROMt_tight_smoke ORDER BY tm_time DESC)AS ttightsmoke))ORDER BY tm_time DESC
页: [1]
查看完整版本: SQL SERVER分页的一般写法