`
lenozhi
  • 浏览: 52337 次
社区版块
存档分类
最新评论

分页查询的SQL语句,出现重复记录!

阅读更多
table1中表有字段(其余字段省)
ID  主键
DATA_UPDATE_TIME 数据更新时间(只存储了年月日)

分页查询的语句如下
select *
   from (
        select row_.*, rownum rownum_
           from ( select  p.id from table1 p
             order by  p.DATA_UPDATE_TIME desc )
   row_ where rownum <= )
where rownum_ >

以每页显示10条为例
第一次  rownum <= 10)   where rownum_ > 0
第二次  rownum <= 20)   where rownum_ > 10

发现有一条记录在两次查询结果中重复出现,不知道问题出在哪里,请忙帮看看。

另:
DATA_UPDATE_TIME 的值有重复,不知道跟它有没有关系。
如果按ID排的话就不会出现这个问题
  • 描述: 第一次查询结果
  • 大小: 165.1 KB
  • 描述: 第二次查询结果
  • 大小: 167.8 KB
分享到:
评论
4 楼 lenozhi 2007-01-30  
这句语是hibernate生成的,还真不是我写的。二楼同学的意见不错,谢谢了。
3 楼 eyejava 2007-01-30  
引用
select *
from (
select row_.*, rownum rownum_
from ( select p.id from table1 p
order by p.DATA_UPDATE_TIME desc )
row_ where rownum <= )
where rownum_ >

两个rownum所处的位置不一样,怎么会产生这样的sql ?
2 楼 vaja 2007-01-29  
如果order by 不能唯一确定记录的顺序就会出现这个问题。
解决的方法是把分页部分全部拿到最外层进行。

select * from ( 
  select row_.*, rownum rownum_ 
  from (
    select p.id from table1 p 
    order by p.DATA_UPDATE_TIME desc 
  ) row_
) 
where rownum_ > ? and rownum_ <= ? 
1 楼 andyao 2007-01-29  
lenozhi 写道
table1中表有字段(其余字段省)
ID  主键
DATA_UPDATE_TIME 数据更新时间(只存储了年月日)

分页查询的语句如下
select *
   from (
        select row_.*, rownum rownum_
           from ( select  p.id from table1 p
             order by  p.DATA_UPDATE_TIME desc )
   row_ where rownum <= )
where rownum_ >

以每页显示10条为例
第一次  rownum <= 10)   where rownum_ > 0
第二次  rownum <= 20)   where rownum_ > 10

发现有一条记录在两次查询结果中重复出现,不知道问题出在哪里,请忙帮看看。

另:
DATA_UPDATE_TIME 的值有重复,不知道跟它有没有关系。
如果按ID排的话就不会出现这个问题


sql语句写的很不好,建议花时间补补sql,关系代数

相关推荐

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

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

    sqlserver分页查询语句

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

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

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

    数据库分页SQL语句实现

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

    jdbc 分页 sql语句

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

    用标准的SQL语句实现查询记录分页

    其中,如何使用标准的SQL语句实现查询记录分页,是数据库操作中一个常见且实用的需求。分页查询不仅能够提高数据检索的效率,还能优化用户体验,尤其是在处理大量数据时显得尤为重要。下面,我们将详细解析几种实现...

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

    存储过程是一组预先编译好的SQL语句,存储在数据库服务器中,可以按需调用执行。它的优点包括提高性能、减少网络流量、增强安全性以及简化复杂的操作。在分页查询场景下,创建一个存储过程可以有效地封装分页逻辑,...

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

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

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

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

    数据库真分页SQL语句

    例如,在SQL Server中,获取第10页,每页显示10条记录的真分页SQL语句可能如下: ```sql SELECT * FROM ( SELECT *, ROW_NUMBER() OVER(ORDER BY SomeColumn) AS RowNum FROM YourTable ) AS TmpTable WHERE...

    利用标准的SQL语句实现查询记录分页

    本文主要探讨如何使用标准SQL语句来实现查询记录的分页功能。 首先,我们要理解分页的基本原理。在网页展示大量数据时,一次性加载所有记录不仅可能导致页面加载速度变慢,还可能消耗大量服务器资源。因此,通常...

    linq分页方法步骤在注释里_生成数据库分页及sql语句

    在本教程中,我们将深入探讨如何使用LINQ进行数据库分页,以及它生成的SQL语句。 首先,数据库分页是处理大量数据时非常常用的技术,它可以提高网页或应用程序的性能,避免一次性加载所有数据导致的内存压力和用户...

    分页的sql总结

    以下是对分页SQL查询技术的深入解析,旨在帮助读者理解并掌握几种常用的分页查询方法。 ### 1. 使用ROWID进行分页 ROWID是一个特殊的数据类型,用于唯一标识表中的每一行记录。利用ROWID进行分页查询,可以避免多...

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

    通过`Statement`或`PreparedStatement`对象执行SQL语句,并使用`ResultSet`对象获取结果。 2. 分页查询SQL构造:对于MySQL,分页查询SQL可能如下: ```sql SELECT * FROM table LIMIT offset, limit; ``` 对于...

    c#\book\实现分页的sql语句

    本文将深入探讨如何在C#\book项目中,利用SQL语句来实现数据分页。 ### SQL分页基本原理 SQL分页主要通过限制查询结果的数量来实现。在SQL Server中,常用的分页方法有两种:一种是使用`OFFSET`和`FETCH`关键字;...

    SqlServer数据库中的分页语句

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

    Oracle Sql语句转换成Mysql Sql语句

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

    分页SQL语句

    SQL Server 、MySQL 、Oracle数据库分页SQL语句

    spring+Mybatis+ PageHelper实现分页

    其主要工作原理是在Mybatis的Executor执行器中添加拦截器,对原始的SQL语句进行修改,自动添加分页参数,从而实现分页查询。PageHelper的优点在于无需手动编写分页代码,只需设置好参数即可。 下面,我们来详细说明...

Global site tag (gtag.js) - Google Analytics