代码之家  ›  专栏  ›  技术社区  ›  user8960350

前10位sql查询列表[重复]

  •  -3
  • user8960350  · 技术社区  · 7 年前

    早上好,我需要帮助生成前十名列表。下面是创建的查询,但我不确定如何正确实现 ROWNUM公司 作用

    SELECT * FROM
    ( SELECT CON_NAME, HIGHEST_QUAL FROM temp2 ORDER BY HIGHEST_QUAL DESC )
      WHERE ROWNUM = 10;
    

    当查询运行时,不会生成任何数据,但是当我省略 ROWNUM公司 生成的所有行都显示数据存在。当 ROWNUM公司 设置为1时,仅生成一行。

    提前感谢!

    1 回复  |  直到 7 年前
        1
  •  0
  •   Kaushik Nayak    7 年前

    使用 ROWNUM 在子查询中,根据需要使用别名和条件

    前10名最高

       SELECT * FROM
        ( SELECT ROWNUM rnum, CON_NAME, HIGHEST_QUAL FROM temp2 ORDER BY HIGHEST_QUAL DESC )
          WHERE rnum <= 10;
    

    第10高

       SELECT * FROM
        ( SELECT ROWNUM rnum, CON_NAME, HIGHEST_QUAL FROM temp2 ORDER BY HIGHEST_QUAL DESC )
          WHERE rnum = 10;
    

    大于第五高,小于第九高

       SELECT * FROM
        ( SELECT ROWNUM rnum, CON_NAME, HIGHEST_QUAL FROM temp2 ORDER BY HIGHEST_QUAL DESC )
          WHERE rnum > 5 and rnum < 9;