`
haonanlyf
  • 浏览: 8354 次
  • 性别: Icon_minigender_1
  • 来自: 盐城
最近访客 更多访客>>
社区版块
存档分类
最新评论

SQL分页语句 ( 转自牛腩老师的博客 )

    博客分类:
  • SQL
阅读更多

①sql server2000方法:

 

 

select top 每页显示的记录数 * from topic where id not in
 (select top (当前的页数-1)×每页显示的记录数 id from topic order by id desc)
 order by id desc

    需要注意的是在access中不能是top 0,所以如果数据只有一页的话就得做判断了。。

 

②sql server2005中的分页代码:

 

 

with temptbl as (
  SELECT ROW_NUMBER() OVER (ORDER BY id desc)AS Row, 
  ...
)
SELECT * FROM temptbl where Row between @startIndex and @endIndex

 该方法说明:创建一个临时表,表中加一列元素ROW,然后按照ROW的大小取出相应的页的数据(主要用于web开发分页管理)

   实例:

 

with temptbl as (
  SELECT ROW_NUMBER() OVER (ORDER BY id desc)AS 行号,* from news
)
SELECT * FROM temptbl where 行号 between 9 and 16

 

 

 

 

 

补充:

 

11 楼 niunan 2009-07-22   引用

自己在网上找了一下。。发现http://hi.baidu.com/fuhengyu/blog/item/adb30aafe4df88c87cd92ae9.html
有个分页存储过程,觉得蛮简单的,弄下来在自己的机子上测试了一下,发现出错,自己更改了一下错误,改后的分页存储过程如下:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		牛腩
-- Create date: 2009-07-22 12:41
-- Description:	分页,用到了ROW_NUMBER()
-- =============================================
ALTER PROCEDURE [dbo].[proc_ShowPage]
@tblName   varchar(255),       -- 表名
@strGetFields varchar(1000) = '*', -- 需要返回的列,默认*
@strOrder varchar(255)='',      -- 排序的字段名,必填
@strOrderType varchar(10)='ASC', -- 排序的方式,默认ASC
@PageSize   int = 10,          -- 页尺寸,默认10
@PageIndex int = 1,           -- 页码,默认1
@strWhere varchar(1500) = '' -- 查询条件 (注意: 不要加 where)
AS

declare @strSQL   varchar(5000)

if @strWhere !=''
set @strWhere=' where '+@strWhere

set @strSQL=
'SELECT * FROM ('+
	'SELECT ROW_NUMBER() OVER (ORDER BY '+@strOrder+' '+@strOrderType+') AS pos,'+@strGetFields+' '+
	'FROM ['+@tblName+'] '+@strWhere+
') AS sp WHERE pos BETWEEN '+str((@PageIndex-1)*@PageSize+1)+' AND '+str(@PageIndex*@PageSize)

exec (@strSQL)
print @strSQL  -- 测试用,可在查询的时候看到生成的SQL语句
 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Oracle Sql语句转换成Mysql Sql语句

    本项目提供了一个Java源码工具,能够帮助用户便捷地将Oracle SQL语句转换为MySQL SQL语句。 Oracle SQL与MySQL SQL的主要差异在于以下几个方面: 1. **数据类型**:Oracle支持的数据类型如NUMBER、LONG、RAW等在...

    SQL分页语句

    ### SQL分页语句 在数据库管理中,分页是一项常用的技术,用于处理大量数据时按需展示数据的一部分,从而提高用户体验和系统性能。本文将详细介绍几种常用的SQL分页技术,包括不同版本的SQL Server(如SQL Server ...

    oracle sql分页语句

    Oracle SQL分页语句是数据库查询中的一个重要概念,它允许我们从海量数据中按需获取特定范围的结果,比如第一页、第二页等。在Oracle数据库系统中,实现分页查询通常使用ROWNUM伪列或者结合RANK()、DENSE_RANK()、...

    sqlserver自动生成sql语句工具sqlserver转oracle

    在压缩包子文件的文件名"ms转sql语句.exe"中,我们可以推测这可能是一个用于将SQL Server语句转换为Oracle兼容格式的可执行程序。这样的工具通常会提供用户友好的界面,让用户导入SQL Server的数据库元数据,然后...

    数据库分页SQL语句实现

    ### 数据库分页SQL语句实现 在开发MIS系统或Web应用系统时,经常会遇到对数据库进行分页处理的需求。这是因为数据量庞大时,一次性加载所有数据会给系统带来很大的负担,同时也会影响用户体验。因此,分页技术成为...

    分页sql语句以及sql语句语法大全

    提供详细的sql语句,常用sql语句,sql语句的进阶过程

    SqlServer数据库中的分页语句

    本篇将深入探讨SQL Server实现分页查询的语句及其工作原理。 首先,我们要明白SQL Server分页查询的基本思想:一次查询只返回所需页面的数据,而不是一次性获取所有数据,这样可以减少网络传输量,减轻服务器压力,...

    XML查询语句转换成SQL语句的实现.pdf

    XML 查询语句转换成 SQL 语句的实现 本文主要讨论将 XML 查询语句转换成 SQL 语句的实现。XML 已经成为 Internet 上数据交换的事实标准,特别是在 Web 数据挖掘技术中,对数据源的结构化需求导致人们对 XML 文档的...

    sql语句万能生成器,sql语句,sql语句生成

    SQL语句是数据库操作的核心,它用于查询、插入、更新和删除数据,是任何数据库管理系统中的基础工具。在IT行业中,编写SQL语句是一项必备技能,但手动编写和调试SQL语句可能会耗费大量时间和精力,尤其在处理复杂...

    几条常见的数据库分页SQL 语句

    几条常见的数据库分页SQL 语句,针对oracle,sqlserver,mysql三种常见数据库的分页显示。

    jdbc 分页 sql语句

    ### JDBC分页SQL语句详解 #### 一、引言 在数据库操作中,分页查询是非常常见且重要的一个功能。对于大型应用而言,一次性加载大量数据不仅会消耗过多资源,还可能导致用户体验下降。因此,合理地进行分页处理显得...

    在SQL Server中通过SQL语句实现分页查询

    ### 在SQL Server中通过SQL语句实现分页查询 #### 一、背景介绍 在数据库应用开发中,分页查询是一种常见的技术手段,用于改善用户体验并提高系统性能。特别是当数据量庞大时,一次性加载所有数据到前端不仅会导致...

    关于SQL Server SQL语句查询分页数据的解决方案

    关于SQL Server SQL语句查询分页数据的解决方案 在日常工作中,我们经常需要处理大量数据,并从中获取特定页面的数据。特别是在Web应用开发中,为了提高用户体验,通常会将数据进行分页显示。针对这一需求,本文将...

    开发sql语句拼接自动格式化工具

    SQL语句格式化工具是一种非常实用的开发辅助软件,它主要解决了在编写和维护大量SQL代码时遇到的格式混乱和拼接困难的问题。通过这款工具,开发者可以快速地将大段的SQL语句进行自动格式化,使得代码更加清晰、易读...

    sql语句说明sql语句说明sql语句说明.zip

    sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明...

    Sql语法转换为Oracle语法

    标题“Sql语法转换为Oracle语法”涉及到的主要知识点是SQL Server与Oracle数据库之间的SQL语句转换。这通常是因为在系统迁移或跨平台开发时,需要将SQL Server的查询语句适应Oracle数据库的语法。 描述中提到的...

    sql语句写分页通用代码

    SQL语句的分页通用代码实现是将数据集分割成多个部分,每次只加载一部分(即一页)到前端进行显示。这种方式在大数据量的查询中尤为重要,因为它避免了一次性加载所有数据可能导致的性能问题。 标题中的“sql语句写...

    .net生成sql分页高性能语句类

    标题提到的".net生成sql分页高性能语句类"正是为了解决这一问题,它提供了一种无需在SQL Server中编写存储过程的解决方案。 这个类库允许开发者通过指定表名、所需字段、查询条件和排序方式,自动生成高效的SQL分页...

    sql分页语句

    利用图解完成SQL分页语句的讲解,适合分页自己写代码的学习者

Global site tag (gtag.js) - Google Analytics