[SQL]学习一下sql数据分页

简介: 今天写点啥呢?就数据分页吧。同事说你直接将所有数据库中的数据都返回给我好了,我一并处理。但我说还好现在就几十条测试数据的,如果说是上万条,几十万条数据,我一下子查询数据库都打包发给你,你还要解析,那客户点击了个查询按钮,按照这样做要等到猴年马月,所以说,服务器...

今天写点啥呢?就数据分页吧。同事说你直接将所有数据库中的数据都返回给我好了,我一并处理。但我说还好现在就几十条测试数据的,如果说是上万条,几十万条数据,我一下子查询数据库都打包发给你,你还要解析,那客户点击了个查询按钮,按照这样做要等到猴年马月,所以说,服务器端只能一点一点的返回给你才是最佳解决方案!

sql数据分页有几种方法,首先用最简单最原始的方法,选择top10:

select top 10 * from Student
where id not in(select top(10*@pageIndex) id from Student order by id)
order by id

@pageIndex是第几页,10代表每页的条数

查询出来的结果:



其他方法:

select * from   /*分页查询所有数据*/

     (select *,row_number() ober(order by id desc) as num  /*row_number()定义新行为num*/
      from student) as table  /*查出新表名为 table*/

where table.num between 0*10+1 and 1*10  
/*  从新表table中查询第0页到第一页的数据 每页10条*/



还有一种就是选择从多少到多少的记录的sql分页语句

select * from (select *,row_number() over (order by Id asc) as num from T_Products) as s where s.num between 3 and 5;


说明:C#创建数据对象模型的时候,如果数据库中对应的字段可能为空,那么对象模型的属性在创建的时候就要判断,如果是值类型的就必须要写成int?number,如果是引用类型的则不需要,例如string类型就属于引用类型的,数据库中是null的话,对应读取到的还是null。



==================== 迂者 丁小未 CSDN博客专栏=================

MyBlog:http://blog.csdn.net/dingxiaowei2013             MyQQ:1213250243

Unity QQ群:858550         cocos2dx QQ群:280818155

====================== 相互学习,共同进步 ===================

转载请注明出处:http://blog.csdn.net/dingxiaowei2013/article/details/17429383

欢迎关注我的微博: http://weibo.com/u/2590571922
相关文章
|
6月前
|
SQL 数据库
三、SQL的基础查询
三、SQL的基础查询
52 0
|
SQL Oracle Java
使用 SQL NOWAIT 的最佳方式
由于所有的主要数据库都支持此功能,Hibernate提供了一个NOWAIT选项,可以在不同数据库上调用这个功能,而且不影响代码的数据库可移植性。
336 0
|
SQL 存储 关系型数据库
SQL必会的基础哈
《基础系列》
156 0
|
SQL 存储 关系型数据库
SQL,何必在忆之一(基础篇)
很久之前就学了SQL,然而又忘记,今天正式系统的性的回顾一下,温故而知新。可以为师矣
113 0
SQL,何必在忆之一(基础篇)
|
SQL
sql 分页
1.分页方案一:(利用Not In和SELECT TOP分页)效率次之 语句形式: SELECT TOP 10 * FROM TestTable WHERE(ID NOT IN (SELECT TOP 20  id FROM  TestTable  ORDERBY  id))   ORDERBYID...
850 0
|
SQL 关系型数据库 Oracle