首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ROWNUM问题

ROWNUM问题
EN

Stack Overflow用户
提问于 2010-02-26 09:51:20
回答 2查看 468关注 0票数 0

我有个风景。视图的一个列包含NVL函数(如nvl(col1,col2) colA)。如果我对此进行查询,我将显示一些记录。

例:select calA from view1;

如果我使用与内联视图相同的查询,并且在where子句中使用rownum,它将不显示任何内容。

例:Select * from (select calA from view1) where rownum <10;

如果我有同样的记录

  • 在where子句
  • 中尝试不带行从视图

中删除nvl

EN

回答 2

Stack Overflow用户

发布于 2010-02-26 10:01:12

看来你还有别的问题。

我尝试了以下方法,您的SELECT运行良好(返回9行):

代码语言:javascript
复制
CREATE TABLE test_data (col1 INT, col2 INT);

INSERT INTO test_data (
  SELECT CASE WHEN MOD(ROWNUM,2) = 1 THEN
                NULL
              ELSE
                ROWNUM/2
              END col1,
         ROWNUM col2
  FROM dual
  CONNECT BY ROWNUM <= 20
);

CREATE OR REPLACE VIEW view1 AS (
  SELECT NVL(col1, col2) calA FROM test_data
);

SELECT * FROM (SELECT calA FROM view1) WHERE ROWNUM <10;

请您张贴您的意见来源,您的表格的设计和一些有关您的数据的更多信息?

票数 0
EN

Stack Overflow用户

发布于 2010-02-26 10:09:54

这不应引起问题:

代码语言:javascript
复制
where rownum < 10

但是,由于生成ROWNUM的方式,此将导致不返回任何行:

代码语言:javascript
复制
where rownum > 10
          -- ^ Greater than
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2340693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档