[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


















本文转蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366178,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值