`
mikixiyou
  • 浏览: 1099061 次
  • 性别: Icon_minigender_1
  • 来自: 南京
博客专栏
C3c8d188-c0ab-3396-821d-b68331e21226
Oracle管理和开发
浏览量:353175
社区版块
存档分类
最新评论

SQL在不同库而相同记录的表上执行结果不同

阅读更多


有一个SQL 语句,在测试库和生产库上跑出来的结果不一样。但两个库上表的数据都是一样的。SQL 是一个简单的排序查询,翻页。

聪明的您,能一眼看出来这是什么原因导致的呢?

select *

  from (select row_.*, rowid rowid_, rownum rownum_

          from (select notice_id,

                       sec_name,

                       start_date,

                       end_date,

                       not_type,

                       content

                  from secnotice_view

                 where start_date >= trunc(sysdate, 'yyyy')

                   and start_date <= sysdate

                   and notice_id <> 0

                 order by start_date desc) row_

         where rownum <= 20)

 where rownum_ > 0

 

在测试库上:

《图片贴不上来》

 

在生产库上:

《图片贴不上来》

 

查询出来的结果都是59 日的,结果集确实不一样!

 

这个类似问题在以前也碰到,那是这样的排序、翻页查询,不同页面居然有相同的记录数据,显得更诡异!

分享到:
评论

相关推荐

    SQL根据表中某列队值选择关联不同的表

    `CASE`语句可以在SQL查询中起到条件判断的作用,可以用来根据某个字段的值返回不同的结果或执行不同的逻辑。本例中我们将使用`CASE`语句结合多表关联来实现需求。 **表结构和数据**: - **表1 (T)** 字段:`id`,...

    删除数据表中重复记录

    3. **执行删除操作**:基于标记好的记录执行删除操作。 #### 示例代码解析 以下是一段示例SQL脚本,用于演示如何删除表`a`中的重复记录: ```sql SELECT * FROM a WHERE id IN (SELECT id FROM a GROUP BY NAME, ...

    SQL实现两张无关联表的数据列合并在一张结果集中

    ### SQL实现两张无关联表的数据列合并在一张结果集中 #### 实现思路及技术要点解析 在实际工作中,我们经常会遇到需要将两张无关联表的数据列合并到一个结果集中的需求。这种操作可以帮助我们更好地组织数据,使得...

    Excel VBA 两个表中查询相同的记录、不同的记录 例程

    本文将详细介绍如何使用 Excel VBA 在两个表中查询相同的记录、不同的记录。这个程序可以帮助用户快速地查询出两个表中的共同记录和不同记录,从而提高工作效率。 首先,我们需要了解程序的基本结构。这个程序主要...

    SQL语句执行顺序说明

    5. **使用DECODE函数来减少处理时间**:使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表,从而减少处理时间。 6. **整合简单、无关联的数据库访问**:如果有多个简单的数据库查询语句,可以尝试将其整合...

    SQL语句执行过程详解

    在整个SQL语句的执行过程中,服务器端还需要进行诸如事务管理、日志记录等后台操作。整个执行过程涉及到的技术和步骤繁多,是数据库性能优化和问题诊断的关键所在。因此,理解SQL语句执行的每个环节对于数据库管理员...

    SQL 递归查询,并将结果集保存在临时表中

    公共表表达式(Common Table Expression)是SQL中的一种临时结果集,它可以在查询中定义并多次使用。在递归查询中,CTE是至关重要的,因为它允许我们构建自引用的查询结构。在例子中,`WITH CTE (C_ORGNAME,P_...

    sql脚本批量执行工具

    编写SQL脚本可以实现创建表、插入数据、更新记录、删除数据以及执行复杂的查询和事务操作等任务。然而,当需要对多个数据库进行相同或类似的操作时,逐个手动执行这些脚本会变得极其耗时且容易出错。因此,SQL脚本...

    SQL语句的执行原理及顺序

    ON 筛选器用于筛选连接表的记录,而 WHERE 筛选器用于筛选最终的结果集。例如,在使用 LEFT OUTER JOIN 时,如果在 ON 子句中应用学生.班级='x',那么在执行第二步时,对于没有参加考试的学生记录就不会出现在 vt2 ...

    SQL查询原理及执行顺序

    在逻辑处理方面,SQL查询遵循特定的步骤生成虚拟表,每一步都基于前一步的结果。例如,`FROM`和`JOIN`操作产生初始数据集,`WHERE`筛选数据,`GROUP BY`和`HAVING`进行分组和过滤,最后`ORDER BY`对结果排序。 了解...

    SQLServer中如何将一个字段的多个记录值合在一行显示

    在本文中,我们将介绍如何在 SQL Server 中将一个字段的多个记录值合并到一行显示,并提供相关的示例代码和实现方法。 知识点 1:使用 User-Defined Function(UDF)实现字段值合并 在 SQL Server 中,我们可以...

    SQLServer数据库表中数据导出成SQL语句工具

    在SQL Server数据库管理中,有时候我们需要将数据库表中的数据导出为SQL语句,以便于备份、迁移或者在其他环境中重建相同的数据结构和内容。针对这个需求,存在一种名为“SQLServer数据库表中数据导出成SQL语句工具...

    sqlserver多数据库自启动定时备份工具批量执行脚本

    至于`sqls`文件夹,可能包含了预定义的SQL脚本,这些脚本可能用于特定的备份任务,比如创建备份作业,或者用于在每个数据库上执行自定义的备份逻辑。用户可以根据需要修改或添加这些脚本来满足特定的备份需求。 ...

    sql执行效率提高

    1. **选择最有效的表名顺序**:在 FROM 子句中,Oracle 从右到左处理表,所以应该先处理记录数最少的表,以减少扫描的数据量。对于多表联接,基础表(被其他表引用的表)应放在最后。 2. **WHERE 子句的连接顺序**...

    sql server触发器中自动生成的临时表

    例如,在插入操作中,我们可以使用 Inserted 表来获取插入的新记录,在删除操作中,我们可以使用 Deleted 表来获取删除的旧记录。 结论 SQL Server 触发器中自动生成的临时表是触发器中一个非常重要的组成部分。...

    sql的执行效率优化

    使用 DECODE 函数可以避免重复扫描相同记录或重复连接相同的表,从而提高系统的性能。 7. 整合简单、无关联的数据库访问 如果你有几个简单的数据库查询语句,你可以把它们整合到一个查询中(即使它们之间没有关系...

    SQL语句优化总结34条

    而在多表联接查询中,ON的执行时机更早,先于WHERE和HAVING。 综上所述,SQL语句优化涉及多个方面,包括选择正确的表处理顺序、优化查询条件、减少不必要的数据库操作等,这些都是提升数据库性能的关键策略。通过...

    NCR_teradata_SQL执行分析

    这决定了数据如何分布在不同的AMP(Access Method Processor)上,进而影响查询性能。 - **数据分发流程**: - 当数据从客户端进入时,会经过一系列处理,包括格式化、哈希计算等。 - 每条记录都会根据其PI值进行...

    ms sql语句怎么样对随机记录进行排序

    在Microsoft SQL Server中,对随机记录进行排序是一个常见的需求,尤其是在数据分析、报告生成或测试数据随机化等场景中。本文将深入探讨如何使用MS SQL语句实现这一功能,并结合提供的SQL代码片段,详细解析其中...

Global site tag (gtag.js) - Google Analytics