Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como usar o rownum


Isso funcionará:

selecione o salário de ( selecione o salário , número da linha como rn de (selecione o salário da ordem e_salário por salário desc)) onde rn =2;

Por que não funciona:

Ao atribuir ROWNUM a uma linha, o Oracle inicia em 1 e só incrementa o valor quando uma linha é selecionada; ou seja, quando todas as condições da cláusula WHERE forem atendidas. Como nossa condição exige que ROWNUM seja maior que 2, nenhuma linha é selecionada e ROWNUM nunca é incrementado além de 1.

Espero que você esteja claro agora.