1. USE [APS_Future_FT]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[A_PagingAndSorting] Script Date: 2013/11/7 21:42:16 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. -- =============================================
  9. -- Author: <Author,,Name>
  10. -- Create date: <Create Date,,>
  11. -- Description: <Description,数据库分页查询,>
  12. -- =============================================
  13. ALTER PROCEDURE [dbo].[A_PagingAndSorting]
  14. (
  15. @PageSize INT ,
  16. @PageIndex INT --从1开始
  17. )
  18. AS
  19. BEGIN
  20. -- SET NOCOUNT ON added to prevent extra result sets from
  21. -- interfering with SELECT statements.
  22. SET NOCOUNT ON;
  23.  
  24. ----------------------------------------------第一种方法:借助row_number()函数-------------------------------
  25. SELECT A.ID ,
  26. A.NAME ,
  27. A.Age
  28. FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY t.ID ASC ) AS RowNumber ,
  29. t.ID ,
  30. t.NAME ,
  31. t.Age
  32. FROM dbo.Test t
  33. ) AS A
  34. WHERE A.RowNumber BETWEEN ( @PageIndex - 1 ) * @PageSize + 1
  35. AND @PageIndex * @PageSize
  36.  
  37. --------------------------------------------第二中方法:借助表变量-------------------------------------
  38. DECLARE @T TABLE
  39. (
  40. ID INT IDENTITY(1, 1) ,
  41. nid INT
  42. )
  43.  
  44. INSERT @T
  45. ( nid )
  46. SELECT Te.ID
  47. FROM dbo.Test Te
  48.  
  49. SELECT Te.ID ,
  50. Te.NAME ,
  51. Te.Age
  52. FROM @T T
  53. INNER JOIN dbo.Test Te ON Te.ID = T.nid
  54. WHERE T.ID BETWEEN ( @PageIndex - 1 ) * @PageSize + 1
  55. AND @PageIndex * @PageSize
  56.  
  57. --------------------------------------------第三种方法:top---------------------------------------
  58. SELECT *
  59. FROM ( SELECT TOP ( @PageSize )
  60. *
  61. FROM ( SELECT TOP ( @PageIndex * @PageSize )
  62. *
  63. FROM dbo.Test A
  64. ORDER BY A.ID ASC
  65. ) B
  66. ORDER BY B.ID DESC
  67. ) C
  68. ORDER BY c.ID
  69. END

T-sql中的三种分页查询的更多相关文章

  1. Asp.Net中的三种分页方式

    Asp.Net中的三种分页方式 通常分页有3种方法,分别是asp.net自带的数据显示空间如GridView等自带的分页,第三方分页控件如aspnetpager,存储过程分页等. 第一种:使用Grid ...

  2. Asp.Net中的三种分页方式总结

    本人ASP.net初学,网上找了一些分页的资料,看到这篇文章,没看到作者在名字,我转了你的文章,只为我可以用的时候方便查看,2010的文章了,不知道这技术是否过期. 以下才是正文 通常分页有3种方法, ...

  3. SQL Server的三种分页方式

    直接上代码 --top not in方式 select top 条数 * from tablename where Id not in (select top 条数*页数 Id from tablen ...

  4. SQL Server 中的三种分页方式

    USE tempdb GO SET NOCOUNT ON --创建表结构 IF OBJECT_ID(N'ClassB', N'U') IS NOT NULL DROP TABLE ClassB GO ...

  5. SQL中利用ROW_NUMBER()进行分页查询

    SELECT ContractName ,ContractNO, State,CreateDate FROM (SELECT ContractName ,ContractNO,CreateDate, ...

  6. 工作中遇到的oracle分页查询问题及多表查询相关

    在工作中,有时,我们会用到oracle分页查询.这时,就需要先了解oracle的rownum.rowmun是oracle的伪列,只能用符号(<.<=.!=),而不能用这些符号(>,& ...

  7. SQL Server中的三种Join方式

      1.测试数据准备 参考:Sql Server中的表访问方式Table Scan, Index Scan, Index Seek 这篇博客中的实验数据准备.这两篇博客使用了相同的实验数据. 2.SQ ...

  8. DjangoRestFramework框架三种分页功能的实现 - 在DjangoStarter项目模板中封装

    前言 继续Django后端开发系列文章.刚好遇到一个分页的需求,就记录一下. Django作为一个"全家桶"型的框架,本身啥都有,分页组件也是有的,但默认的分页组件没有对API开发 ...

  9. ASPNETCOREAPI 跨域处理 SQL 语句拼接 多条件分页查询 ASPNET CORE 核心 通过依赖注入(注入服务)

    ASPNETCOREAPI 跨域处理 AspNetCoreApi 跨域处理 如果咱们有处理过MV5 跨域问题这个问题也不大. (1)为什么会出现跨域问题:  浏览器安全限制了前端脚本跨站点的访问资源, ...

随机推荐

  1. ios audio不能自动播放

    今天做了一个简单的落地页项目,就是类似于手机微信上经常看到的滑动效果.因为公司要求需要自己开发,所以我就用swiper+swiper.animate开发,开发速度很快,只不过最后音乐哪里出现了一点小b ...

  2. EV3DVue干涉检测的优势分析

    过去几年中国制造行业获得了的快速发展,各企业为了尽可能早的抢占市场,对模具的生产周期要求越来越短,精度要求越来越高,这就对模具设计以及制造等各个环节提出了更高的要求.随着CAD/CAM技术的深入应用, ...

  3. .net iis excel导出问题

    碰到几个问题的解决方法 1.当我远程服务器时才可以导出excel!!关闭了远程就不行... 解决:运行mmc -32组件服务 ->DCOM Config->Microsoft Excel  ...

  4. mac 好用软件地址存储

    Navicat Premium 12.0.24 for mac已破解中文 https://www.52pojie.cn/thread-727433-1-1.html sublime 破解方法https ...

  5. xampp 中 mysql的相关配置

    最近开始接触PHP,而一般搭建PHP环境使用的都是xampp 这个集成环境,由于之前我的系统中已经安装了mysql服务,所以在启动mysql的时候出现一些列错误,我通过查询各种资料解决了这个问题,现在 ...

  6. js和.net后台交互

    1.asp.net呼叫js                        Response.Write("<script language=javascript>"); ...

  7. C++类继承--构造函数时先构造基类

    以下说明继承类函数构造时,先构造基类: 析构基类时,若没加上virtual,只析构基类,不析构派生类: 析构派生类时,同时会析构基类: 1. 基类析构函数有virtual #include <s ...

  8. Android网络通信库Volley简介(转)

    以前反编译过android market,发现里面有用到volley,起这么个名字不知道啥用的,现在才知道主讲者Ficus Kirkpatrick 就是负责开发Google play 的. 看完视频, ...

  9. php遍历数组赋值

    <?php $arr=array( array("num"=>100,"name"=>"Liuxy","scor ...

  10. cookie的初识和运用(js和jq)

    cookie是什么 cookie是浏览器提供的一种机制,它将document 对象的cookie属性提供给JavaScript.可以由JavaScript对其进行控制,而并不是JavaScript本身 ...