oracle 10g 在查询结果列中添加rownum列,查询出的条数增多。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 10g 在查询结果列中添加rownum列,查询出的条数增多。相关的知识,希望对你有一定的参考价值。

只有查询结果列中有rownum ,条数就会多出很多

原sql

select rownum as tempNum,
.....
from (select .....
where....
order by AD.detailaddressstr, CUSTOMEREN.CUSTOMERADDRSTR) temp
where (case when ... then ...else end);
将where后面的条件提取到内部,只对数据结果集查询结果列添加rownum也会出现问题

select rownum as tempNum,
.....
from ( select * from (select .....
where....
order by AD.detailaddressstr, CUSTOMEREN.CUSTOMERADDRSTR) temp
where (case when ... then ...else end) ) temp2 ;
不明白是什么原因产生的,快崩溃了
select rownum as tempNum,
.....
from ( select * from
(select .....
where ....
order by AD.detailaddressstr, CUSTOMEREN.CUSTOMERADDRSTR) temp
where (case when ... then ...else end)
) temp2
sql语句类似这样的结构,在查询出结果列不加rownum查询出的条数是1339条,加上rownum就是2297条,条数多出很多。不明白是什么原因,这个问题只在某个生产库中出现
Oracle版本是10.2.0.1.0

参考技术A select * from emp

select rownum as rn,t.* from (select * from emp) t

这样查出来的数据条数,是一样的
参考技术B 不懂啥意思。。。追问

sql语句类似上面的结构
在查询出结果列不加rownum查询出的条数是1339条,加上rownum就是2297条,条数多出很多。
Oracle版本是10.2.0.1.0

以上是关于oracle 10g 在查询结果列中添加rownum列,查询出的条数增多。的主要内容,如果未能解决你的问题,请参考以下文章

oracle 10g中如何缓存函数的查询结果?

如何将选择查询的结果发送到oracle 10G中邮件的消息正文

oracle10g查看主从延迟

oracle 10g 怎么查询某个字段值包含小写字母

Oracle 10g:在视图中排序兄弟

在 Oracle 10g 上加载超过 64K 的 XML