sql – 从工资中选择rownum,其中rownum = 3;

如何使用“rownum”关键字从任何表中检索第三行(我使用的是oracle-10g)

解决方法

当查询生成行时,Oracle会按顺序将值分配给ROWNUM – 因此,获取的第一行获取ROWNUM = 1,获取的第二行获取ROWNUM = 2,获取的第三行获取ROWNUM = 3等.注意 – 对于行要分配ROWNUM = 3必须获取前两行.这就是您的查询不返回任何行的原因.您要求数据库提取第三行 – 但从未提取过第1行和第2行.

要演示,请尝试运行以下查询:

SELECT S.* FROM SALARY S;          -- Should return all rows
SELECT ROWNUM,S.* FROM SALARY S;  -- Should return all rows with ROWNUM prepended
SELECT ROWNUM,S.* FROM SALARY WHERE ROWNUM=3;  -- Should return no rows

要解决您的问题,请尝试以下操作:

SELECT ROW_NUMBER FROM
  (SELECT ROWNUM AS ROW_NUMBER,S.* FROM SALARY S)
  WHERE ROW_NUMBER = 3;

分享和享受.

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。