USE [APS_Future_FT]
GO
/****** Object: StoredProcedure [dbo].[A_PagingAndSorting] Script Date: 2013/11/7 21:42:16 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,数据库分页查询,>
-- =============================================
ALTER PROCEDURE [dbo].[A_PagingAndSorting]
(
@PageSize INT ,
@PageIndex INT --从1开始
)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON; ----------------------------------------------第一种方法:借助row_number()函数-------------------------------
SELECT A.ID ,
A.NAME ,
A.Age
FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY t.ID ASC ) AS RowNumber ,
t.ID ,
t.NAME ,
t.Age
FROM dbo.Test t
) AS A
WHERE A.RowNumber BETWEEN ( @PageIndex - 1 ) * @PageSize + 1
AND @PageIndex * @PageSize --------------------------------------------第二中方法:借助表变量-------------------------------------
DECLARE @T TABLE
(
ID INT IDENTITY(1, 1) ,
nid INT
) INSERT @T
( nid )
SELECT Te.ID
FROM dbo.Test Te SELECT Te.ID ,
Te.NAME ,
Te.Age
FROM @T T
INNER JOIN dbo.Test Te ON Te.ID = T.nid
WHERE T.ID BETWEEN ( @PageIndex - 1 ) * @PageSize + 1
AND @PageIndex * @PageSize --------------------------------------------第三种方法:top---------------------------------------
SELECT *
FROM ( SELECT TOP ( @PageSize )
*
FROM ( SELECT TOP ( @PageIndex * @PageSize )
*
FROM dbo.Test A
ORDER BY A.ID ASC
) B
ORDER BY B.ID DESC
) C
ORDER BY c.ID
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. Go语言备忘录(2):反射的原理与使用详解

    本文内容是本人对Go语言的反射原理与使用的备忘录,记录了关键的相关知识点,以供翻查. 文中如有错误的地方请大家指出,以免误导!转摘本文也请注明出处:Go语言备忘录(2):反射的原理与使用详解,多谢! ...

  2. 创建一个自定义的Application类

    由于每个应用程序必须创建一个Application对象,vs为开发人员提供了模板来减轻开发人员的重复工作.当使用vs创建一个WPF应用程序是,vs会自动创建一个app.xaml文件, <Appl ...

  3. 通过winmm.dll控制声音播放

    介绍如何通过winmm.dll播放声音 首先导入两个函数 /// <summary> /// 向媒体控制接口发送控制命令 /// </summary> /// <para ...

  4. Spring事务不起作用原因

    首先声明: Checked异常继承java.lang.Exception类.Unchecked异常继承自java.lang.RuntimeException类. 而,Spring的事务实现采用基于AO ...

  5. DataTables添加额外的查询参数和删除columns等无用参数

    //1.定义全局变量 var iStart = 0, searchParams={}; //2.配置datatable的ajax配置项 "ajax": { "url&qu ...

  6. [转]Shared——Javascript中的call详解

    call( ) 一.call的使用 call 方法第一个参数是作为函数上下文的对象,第二个参数是一个参数列表. var obj = { name: 'J' } function func(p1, p2 ...

  7. webpack基本使用教程

    安装 本地安装 npm install --save-dev webpack npm install --save-dev webpack-cli //4.x以上版本,用于cli命令 全局安装 npm ...

  8. 在 CentOS6 上安装 GraphicsMagick-1.3.30

    在 CentOS6 上安装 GraphicsMagick-1.3.30 1.简介: 1.1.在介绍 GraphicsMagick 前我们不得不先介绍下 ImageMagick: ImageMagick ...

  9. IDEA 自动生成serialVersionUID

    场景:刚转到用IDEA,因为需要生成serialVersionUID,并没有自动生成. 转自:http://blog.csdn.net/liuzongl2012/article/details/451 ...

  10. html发展史简介(摘抄)

    1993年,IETF,Internet工程任务组(Internet Engineering Task Force)的简写.IETF又叫互联网工程任务组,成立于1985年底,是全球互联网最具权威的技术标 ...