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

来源:互联网 发布:建行网络贷款怎么过 编辑:程序博客网 时间:2024/05/19 17:10

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

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

select top 10 * from Studentwhere 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
4 1
原创粉丝点击