SqlServer数据库中的分页语句

数据库 SQL Server
下文将为您介绍SqlServer数据库中的分页SQL语句,该语句一次查询,数据库只返回一页的数据,供您参考,希望能对您有所帮助。

下文将为您介绍SqlServer数据库中的分页SQL语句,该语句一次查询,数据库只返回一页的数据,供您参考,希望能对您有所帮助。

SqlServer分页SQL语句特点:一次查询,数据库只返回一页的数据。而不是取出所有的数据。
说明:
pagesize: 每页显示记录数
cureentpage:当前页数

select * from (   select TOP pagesize * FROM ( SELECT TOP pagesize*cureentpage   * from user_table   ORDER BY id ASC ) as aSysTable   ORDER BY id DESC ) as bSysTable   ORDER BY id ASC

例子说明:
假如数据库表如下:
user_table:
id:主键,自增
username:字符
password:字符

假设有80条记录,每页显示10条记录,id 从1到80
现在按照id升序排列取出第三页的数据应该为:所取得记录的id 应该为 21到30。

这时该语句应该为:
select * from (   select ***0 * FROM ( SELECT TOP 30   * from user_table   ORDER BY id ASC ) as aSysTable   ORDER BY id DESC ) as bSysTable   ORDER BY id ASC

原理如下:
(1)先按照id从小到大升序取出30条记录(3*10),也就是:id 在 1-30 之间的记录 (SELECT TOP 30   * from user_table   ORDER BY id ASC)
(2)然后按照ID降序排列这30条记录,得到记录为id 在:从30到 1 
(3)然后在这些30条记录中取出前10条记录:取得的记录为:id 在30-21之间。这就是我们需要的数据,但这时是按照降序排列的,不符合要求。
(4)***在重新排序得到最终我们需要的数据。id在21-30之间。

希望对大家有所帮助。

 

【编辑推荐】

SQL SERVER数据库中存储过程使用循环语句

Sql Server两个版本中显示所有表信息的语句

SQL Server中一个语句块实现多条语句插入的方法

使用SQL语句查看SQL Server事务日志的方法

SQL语句中UPDATE的三种用法

责任编辑:段燃 来源: 互联网
相关推荐

2011-05-13 09:42:21

2011-04-15 13:41:27

SqlServer数据复制

2010-07-19 17:26:55

SQL Server

2010-10-22 15:09:39

2009-05-15 10:11:55

数据库查询查询性能分页浏览

2011-07-22 16:59:30

MySQL数据库嵌套查询

2012-07-23 14:30:33

Oracle

2021-04-27 07:42:35

数据库MySQLSQLServer

2011-04-19 11:02:57

数据库分页

2011-03-17 16:51:51

SQLServer数据加速剂

2011-08-05 13:29:04

分页

2010-12-13 13:26:25

分页

2010-05-12 10:17:59

MySQL数据库优化

2010-09-07 10:35:38

SQL语句

2011-08-15 10:22:19

分页查询数据库

2010-06-01 13:20:45

2011-01-06 09:28:19

SQL语句

2010-09-07 16:12:36

SQL语句数据库压缩

2010-04-02 12:23:30

Oracle数据库

2016-12-12 13:07:57

数据库优化SQL
点赞
收藏

51CTO技术栈公众号