mssql sqlserver offset fetch关键字同order by 关键字结合使用,进行分页数据获取


摘要:
下文讲述分页的另类方法,使用offset和fetch关键字分页数据的获取
实验环境:sqlserver 2012



一、offset 获取表中记录,跳过指定行数

例:表test按照keyId 倒序排列,并跳过前3条

  create table test(keyId int identity(1,1),info varchar(10))
  go
  insert into test(info)values('a'),('b'),('c'),('d'),('e'),('f')
  go
   select * from test order by keyId desc  offset 3 rows 
-------输出------
3  c 
2  b
1  a
------------------
drop table test 


二、offset fetch组合应用

offset fetch 组合使用,可达到跳过相应的记录,并返回指定的行数。
例:
offset n rows 跳出相应的行数
fetch next n rows only 返回相应的行数

  create table test(keyId int identity(1,1),info varchar(10))
  go
  insert into test(info)values('a'),('b'),('c'),('d'),('e'),('f')
  go 
  select * from test order by keyId desc 
   offset 3 rows
    fetch next 2 rows only  
    go
-------输出------
3  c 
2  b 
------------------
drop table test