[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

时间: 2024-11-05 22:37:32

[SQL]学习一下sql数据分页的相关文章

Sql 数据分页解决方案

分页|解决|数据 很多开始学习编程的朋友们在使用数据库自定义分页的时候,会遇到写不好数据分页存储过程的问题. 这里我就自己的一点经验和学习心得提供几种数据库内分页的存储过程和大家分享一下. 1. 使用top1.1利用当前记录号(currentnote)和分页页面大小(pagesize)进行分页 create proc GetNextPageInfo2 @pagesize int, --page size @currentnote int --current note As declare @sq

SQL数据分页查询的方法_MsSql

最近学习了一下SQL的分页查询,总结了以下几种方法. 首先建立了一个表,随意插入的一些测试数据,表结构和数据如下图: 现在假设我们要做的是每页5条数据,而现在我们要取第三页的数据.(数据太少,就每页5条了) 方法一: select top 5 * from [StuDB].[dbo].[ScoreInfo] where [SID] not in (select top 10 [SID] from [StuDB].[dbo].[ScoreInfo] order by [SID]) order by

SQL Server 2005: 利用新的ranking函数实现高效的数据分页操作

server|分页|函数|数据 最近MSDN Magazine上的一篇文章10 Tips for Writing High-Performance Web Applications提到了有效的数据分页技术对提高ASP .NET程序性能的重要性:并给出了一个实现数据分页的stored procedure的例子,抄录如下: CREATE PROCEDURE northwind_OrdersPaged ( @PageIndex int, @PageSize int ) AS BEGIN DECLARE

探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页

探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的一表的部分数据结构: CREATE TABLE [dbo].[TGongwen] (    --TGongwen是红头文件表名    [Gid] [int] IDENTITY (1, 1) NOT NULL ,--本表的id号,也是主键    [title] [varchar] (80) COLLATE Chinese_PRC_CI_AS NULL ,  --红头文件的

MS SQL Server数据库查询优化及分页算法

server|分页|数据|数据库|算法|优化 探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的"红头文件"一表的部分数据结构:CREATE TABLE [dbo].[TGongwen] (    --TGongwen是红头文件表名    [Gid] [int] IDENTITY (1, 1) NOT NULL ,--本表的id号,也是主键    [title] [varchar] (80) COLLATE

ASP.NET 2.0在SQL Server 2005上自定义分页

出处:http://aspnet.4guysfromrolla.com/demos/printPage.aspx?path=/articles/031506-1.aspx 介绍 web开发中普遍会用页面来显示数据.比起整页显示一张报表或者一张数据表的数据给用户,开发者经常用到的是分页显示,每页只显示部分数据,用翻页来控制.在ASPV.NET 1.X里,DataGrid控件使翻页显示变得简单-只需要把属性AllowPaging设置为"true",并在PageIndexChanged事件中

学习oracle sql loader 的使用

oracle 学习oracle sql loader 的使用 一:sql loader 的特点oracle自己带了很多的工具可以用来进行数据的迁移.备份和恢复等工作.但是每个工具都有自己的特点. 比如说exp和imp可以对数据库中的数据进行导出和导出的工作,是一种很好的数据库备份和恢复的工具,因此主要用在数据库的热备份和恢复方面.有着速度快,使用简单,快捷的优点:同时也有一些缺点,比如在不同版本数据库之间的导出.导入的过程之中,总会出现这样或者那样的问题,这个也许是oracle公司自己产品的兼容

ASP学习:史上最强的数据分页方法

我观前辈的帖子,皆由于数据库的SQL大不一致,且SQL SERVER,ACCESS等菜鸟级数据库没有如rowid,_n_,obs等之类的辅助列,空有BETWEEN运算符而无用武之地,又无如except之类的数据集运算符,真是令无数英雄尽折腰 偶详观各数据库SQL,得出是数据库就有取前面N条记录的SQL语法,如什么select top n*****之类的语法,而数据分页的关键问题是取后N条记录的语法偶深思良久,最后小悟,故出此言,还忘前辈们多多指点 取记录集后N条记录的大法: 假设: 1.有一sq

oracle语句-初用oracle和PL/SQL 网上找了个分页存储过程,直接拿过来怎么报错。。求解

问题描述 初用oracle和PL/SQL 网上找了个分页存储过程,直接拿过来怎么报错..求解 直接上代码` create or replace package p_page is TYPE type_cur IS REF CURSOR; --定义游标变量用于返回记录集 PROCEDURE Pagination(Pindex in number --分页索引 Psql in varchar2 --产生dataset的sql语句 Psize in number --页面大小 Pcount out n