SQL分页查询数据

来源:互联网 发布:java代码反编译 编辑:程序博客网 时间:2024/06/10 17:07
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
效果:


其中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





0 0
原创粉丝点击