`
hewei0212
  • 浏览: 16692 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

SQL分页查询【转】

 
阅读更多

方法1: 适用于 SQL Server 2000/2005

1 SELECT TOP 页大小 *
2 FROM table1
3 WHERE id NOT IN
4 (
5 SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id
6 )
7 ORDER BY id

方法2:
适用于 SQL Server 2000/2005

 1 --顺序写法:
2 SELECT TOP 页大小 *
3 FROM table1
4 WHERE id >=
5 (
6 SELECT ISNULL(MAX(id),0)
7 FROM
8 (
9 SELECT TOP 页大小*(页数-1)+1 id FROM table1 ORDER BY id
10 ) A
11 )
12 ORDER BY id
13
14 --降序写法:
15 SELECT TOP 页大小 *
16 FROM table1
17 WHERE id <=
18 (
19 SELECT ISNULL(MIN(id),0)
20 FROM
21 (
22 SELECT TOP 页大小*(页数-1)+1 id FROM table1 ORDER BY id Desc
23 ) A
24 )
25 ORDER BY id Desc

 

方法3:
适用于 SQL Server 2005

1 SELECT TOP 页大小 * 
2 FROM
3 (
4 SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM table1
5 ) A
6 WHERE RowNumber > 页大小*(页数-1)

 

说明,页大小:每页的行数;页数:第几页。使用时,请把“页大小”和“页大小*(页数-1)”替换成数字。

 

 

 

其它的方案:如果没有主键,可以用临时表,也可以用方案三做,但是效率会低。
建议优化的时候,加上主键和索引,查询效率会提高。

通过SQL 查询分析器,显示比较:我的结论是:
分页方案二:(利用ID大于多少和SELECT TOP分页)效率最高,需要拼接SQL语句
分页方案一:(利用Not In和SELECT TOP分页)   效率次之,需要拼接SQL语句
分页方案三:(利用SQL的游标存储过程分页)    效率最差,但是最为通用

分享到:
评论

相关推荐

    sql分页查询

    ### SQL分页查询详解 #### 一、引言 在数据库操作中,分页查询是一项非常重要的技术。尤其是在处理大量数据时,一次性加载所有数据到前端不仅效率低下,还可能导致性能问题。通过分页查询,我们可以按需获取数据,...

    sqlserver分页查询语句

    sqlserver分页查询语句;sqlserver分页查询语句;sqlserver分页查询语句;

    SQL分页查询原理讲解

    本篇将深入讲解SQL分页查询的原理,并结合示例进行详细说明。 首先,让我们了解基本的SQL分页查询方法。在SQL Server中,我们可以利用`TOP`关键字来限制返回的行数,从而实现分页。假设我们有一个名为`Student`的表...

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

    针对这一需求,本文将详细介绍如何在SQL Server中实现有效的分页查询。 ### 方法1:使用NOT IN 这种方法通过先选择前300100条记录的序列号(这里假设`fldserialNo`是唯一标识每一行的字段),然后在外层查询中排除...

    SQL server 分页查询

    本文将深入探讨SQL Server中的分页查询技术,帮助读者掌握如何高效地进行数据分页,以提升应用程序的性能和用户体验。 ### SQL Server分页查询概述 分页查询是指从大量数据中按需取出一部分数据的过程,通常用于...

    java语言的分页查询功能(mysql和sql server)

    本教程将详细讲解如何在Java中实现不分框架的分页查询,同时涵盖对MySQL和SQL Server数据库的支持。 一、基础知识 1. 分页概念:分页是将大量数据按一定数量分成若干部分,每次只加载一部分到内存中显示,用户可以...

    通用的存储过程sql分页查询语句

    本文将深入探讨通用的存储过程SQL分页查询语句及其背后的原理。 首先,理解存储过程。存储过程是一组预先编译好的SQL语句,存储在数据库服务器中,可以按需调用执行。它的优点包括提高性能、减少网络流量、增强安全...

    【sql】分页查询示例

    sql Server 分页查询的一个例子 献给初学者!!!!

    千万级数据分页查询存储过程SQLServer

    在SQL Server中,面对千万级别的大数据量,进行有效的分页查询是数据库性能优化的重要环节。存储过程在这种场景下显得尤为重要,因为它们可以提高查询效率,减少网络传输,并且便于管理和重用代码。本文将深入探讨...

    LINQ To SQL实现分页效果源码

    总结来说,LINQ to SQL的分页功能结合了强大的查询表达能力和数据库操作的便利性,为.NET开发者提供了高效的数据访问解决方案。通过理解和实践这些步骤,你可以在你的应用程序中实现高效的分页功能。

    oracle分页查询sql

    ### Oracle分页查询详解 #### 一、分页查询的重要性 在数据库操作中,分页查询是一项非常重要的技术。尤其当处理大量数据时,一次性获取所有数据不仅会消耗大量的网络带宽,还可能导致前端页面加载缓慢,用户体验...

    java 连接sqlserver数据库查询,并分页显示

    以下是如何使用PreparedStatement实现分页查询: ```java public void queryAndPaginate(int pageSize, int currentPage) { String sql = "SELECT * FROM employees OFFSET ? ROWS FETCH NEXT ? ROWS ONLY"; try ...

    sql server 分页

    sql server分页代码 --分页【top】:不支持复合主键 SELECT TOP 10 * from Lend where id not in (SELECT TOP ((2-1)*10) id from lend ORDER BY id) ORDER BY id ; SELECT TOP 10 * from Lend where id not ...

    易语言MYSQL数据库分页查询

    总结来说,易语言结合MySQL数据库的分页查询是通过建立连接、构建分页SQL、执行查询、处理结果和关闭连接等一系列步骤来实现的。理解这些步骤,并结合数据库优化技巧,可以帮助开发者构建出高效、友好的数据展示系统...

    SQL分页查询方言类库 通过调用相关API,可快速将一个普通SQL转换为一个特定数据库的计数(COUNT)SQL或分页查询SQL

    SQL分页查询方言类库。通过调用相关API,可快速将一个普通SQL转换为一个特定数据库的计数(COUNT)SQL或分页查询SQL。

    Oracle的SQL分页实践

    在Oracle数据库中,SQL分页是一种非常常见的查询技术,它允许我们从大量数据中按需获取一部分结果,而不是一次性加载所有记录。这对于提高用户体验和优化系统性能至关重要,尤其是在处理大数据量的Web应用中。本实践...

    基于SQL的分页查询功能,很强大的哦

    本话题将深入探讨如何利用SQL进行分页查询,以及如何在.NET环境中优化这种查询,以实现高效的数据访问。 首先,让我们关注“分页查询”。分页是当数据量过大时,为了提高用户体验和减少网络传输,将结果集分割成多...

    sql分页查询几种写法

    SQL分页查询是数据库操作中常见的一种需求,特别是在大数据量的场景下,为了提高用户体验,通常需要对查询结果进行分页展示。SQL Server虽然在处理分页查询方面相对其他数据库系统较弱,但仍然提供了多种实现方式。...

    sql 分页查询资料

    总结来说,SQL分页查询是通过`LIMIT`、`OFFSET`、`TOP`、`OFFSET...FETCH`等方法实现的,而循环语句主要用于特定的批处理任务。在实际应用中,理解这些概念并优化查询性能对于开发高效的数据访问层至关重要。

    SQL分页最佳解决方案

    以下是一些SQL分页的最佳解决方案。 首先,SQL Server 2005引入的新方法是使用`ROW_NUMBER()`函数配合`OVER()`子句进行分页。这种方法通过为每一行分配一个唯一的行号(`rowNum`),然后根据这个行号筛选出指定范围...

Global site tag (gtag.js) - Google Analytics