SQL分页查询数据

SQL分页查询有两种方式,top方式方式和row_number()方式(row_number方式是SQLSERVER2005新增函数),下面就来介绍这两种方式。

1、通过top方式分页查询数据

我们每页查询5条数据,对T_Did升序排序.

查询第一条数据。

select top 5 * from tb_DStorage order by T_DId asc

查询第n条数。

查询第n条数据,首先找出已经查看过得数据,然后从整个数据中排除已经查看过得数据

select top 5 * from tb_DStorage where T_DId not in
(select top ((n-1)*5) T_DId from tb_DStorage order by T_DId asc) 
order by T_DId asc
其中N为要查看的页数。

2、通过row_number()函数显示分页查询数据

row_number()函数是对查询出来的数据进行编号

select ROW_NUMBER() over( order by T_Did asc) as Rn,* 
from tb_DStorage
效果:

SQL分页查询数据_第1张图片
其中Rn列为新增的编号列。

有个这个编号列,我们就可以很容易的对数据进行分组查看了。

查看第N页数据,默认每页显示7条

select * from
(select ROW_NUMBER() over( order by T_Did asc) as Rn,* 
from tb_DStorage) as ds where ds.Rn between (N-1)*7+1 and N*7





你可能感兴趣的:(SQLSERVER)