spell 发表于 2016-11-2 08:51:21

[sql server] 分页

  -- 测试环境

if object_id('tb') is not null drop table tb
go
create table tb
(
id int,
name varchar(20),
constraint pk_tb primary key (id)

)
go
insert tb
select 1,'A' union all
select 2,'B' union all
select 3,'B' union all
select 4,'B' union all
select 5,'B' union all
select 6,'B' union all
select 7,'B' union all
select 8,'B' union all
select 9,'A' union all
select 10,'A' union all
select 11,'A'
go
-- 按照name字段,以5行分页
  -- 按照name字段,以5行分页
-- 查询 第一页
select top 5 * from tb order by name,id
-- 结果
/*
id name
----------- --------------------
1 A
9 A
10 A
11 A
2 B
  (5 行受影响)
*/
  -- 查询 第二页
select top 5 * from
(
select top 10 * from tb order by name,id
) t order by name desc,id desc
-- 结果
/*
id name
----------- --------------------
7 B
6 B
5 B
4 B
3 B
  (5 行受影响)
*/
  
-- 查询 第二页
select top 5 * from
(
select top 15 * from tb order by name,id
) t order by name desc,id desc
-- 结果
/*
id name
----------- --------------------
7 B
6 B
5 B
4 B
3 B
  (5 行受影响)
*/
页: [1]
查看完整版本: [sql server] 分页