Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Rownum

Minha dúvida é o seguinte, essa query: select rownum, nome from (select a.nome from aluno a order by a.nome) where rownum <= 5; lista os 5 da lista com rowNum de 1 até 5, não entendi porque a seguinte query : "select rownum, nome from (select a.nome from aluno a order by a.nome) where rownum > 5;" não consegue pegar os elementos da lista com rownum > 5 sendo que a primeira query pega os menores que 5.

3 respostas

ninguem pode ajudar? :/

solução!

Rodrigo,

A sua query não funciona pois 'rownum' é uma PSEUDOCOLUMN: Ref: https://docs.oracle.com/cd/B19306_01/server.102/b14200/pseudocolumns009.htm

Para a sua query funcionar você deve rodar assim:

select numlinha, nome 
  from (select rownum as numlinha, 
               a.nome
          from aluno a
        order by a.nome) where numlinha > 5 ;      

Segue o sqlfiddle que utilizei para teste:

http://sqlfiddle.com/#!4/02cc3/3

Blz ?

Muito obrigado Pablo