Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7489993
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 29, 20262026-05-29T15:28:01+00:00 2026-05-29T15:28:01+00:00

I have tried the below query: select empno from ( select empno from emp

  • 0

I have tried the below query:

select empno from (
                   select empno 
                     from emp
                    order by sal desc
                  )
where rownum = 2

This is not returning any records.

When I tried this query

 select rownum,empno from (
                        select empno from emp order by sal desc) 

It gives me this output:

ROWNUM  EMPNO      
1       7802        
2       7809    
3       7813    
4       7823

Can anyone tell me what’s the problem with my first query? Why is it not returning any records when I add the ROWNUM filter?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-29T15:28:03+00:00Added an answer on May 29, 2026 at 3:28 pm

    To explain this behaviour, we need to understand how Oracle processes
    ROWNUM. When assigning ROWNUM to a row, Oracle starts at 1 and
    only increments the value when a row is selected; that is, when all
    conditions in the WHERE clause are met. Since our condition requires
    that ROWNUM is greater than 2, no rows are selected and ROWNUM is
    never incremented beyond 1.

    The bottom line is that conditions such as the following will work as
    expected.

    .. WHERE rownum = 1;

    .. WHERE rownum <= 10;

    While queries with these conditions will always return zero rows.

    .. WHERE rownum = 2;

    .. WHERE rownum > 10;

    Quoted from Understanding Oracle rownum

    You should modify you query in this way in order to work:

    select empno
    from
        (
        select empno, rownum as rn 
        from (
              select empno
              from emp
              order by sal desc
              )
        )
    where rn=2;
    

    EDIT: I’ve corrected the query to get the rownum after the order by sal desc

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have this query select CONVERT(varchar(5), tdate ,108) AS [Time] from table which gives
I have tried rectifying the code below. But I am not able to find
I have tried the following two statements: SELECT col FROM db.tbl WHERE col (LIKE
So I have a query where I select from the 'sites' table, and count
I have tried to rewrite the below query, so that it will work in
I have tried all kinds of different ways to query this but just can't
I want to open an xlsx file, I have tried the below code,but neither
I need to echo entire content of included file. I have tried the below:
In .NET I have already tried the configuration below successfully: <system.net> <connectionManagement> <add address=*
I have tried this... Dim myMatches As String() = System.Text.RegularExpressions.Regex.Split(postRow.Item(Post), \b\#\b) But it is

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.