Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Sacar solo el segundo registro de un select

Estas en el tema de Sacar solo el segundo registro de un select en el foro de Oracle en Foros del Web. Hola a todos Os pido ayuda con este tema, he visto como sacar los últimos registros, los primeros, y paginar, pero no se como poder ...
  #1 (permalink)  
Antiguo 05/07/2007, 00:58
 
Fecha de Ingreso: junio-2007
Mensajes: 9
Antigüedad: 16 años, 10 meses
Puntos: 0
Sacar solo el segundo registro de un select

Hola a todos
Os pido ayuda con este tema, he visto como sacar los últimos registros, los primeros, y paginar, pero no se como poder mostrar solo el segundo registro de un select, he probado con rownum = 2 pero me dice now row selected, y si pongo rownum <= 2 me salen las dos primeras. Os agradecería cualquier ayuda.
un saludo
  #2 (permalink)  
Antiguo 05/07/2007, 01:23
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 16 años, 10 meses
Puntos: 43
Re: Sacar solo el segundo registro de un select

Mira a ver si te vale esto.

select * from tu_tabla
where rowid > (
select rowid
from tu_tabla
where rownum =1
)
and rownum = 1
  #3 (permalink)  
Antiguo 05/07/2007, 01:45
 
Fecha de Ingreso: junio-2007
Mensajes: 9
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Sacar solo el segundo registro de un select

Muchas gracias jc3000
Lo que dices funciona perfectamente, pero si utilizo rowid, entonces no me vale el segundo registro, seria el penúltimo, el ultimo seria el valor que veo en "directo", y el inmediatamente anterior es que quiero mostrar como "diferido", vamos que seria seleccionar siempre el registro anterior al ultimo que ha entrado.
un saludo
  #4 (permalink)  
Antiguo 05/07/2007, 02:14
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 16 años, 10 meses
Puntos: 43
Re: Sacar solo el segundo registro de un select

La que he puesto trae el segundo registro de la tabla.

Para el penultimo, quizás deberías utilizar el " ORDER BY ROWID DESC ". Esto te trae la ordenación al reves ( del ultimo al primero ). Lo que pasa es que puede que no te sirva, ya que creo ( aunque no estoy seguro )que el rowid es la identificación del bloque de la tabla donde se encuentra ese dato, que lo mismo puede estar el ultimo o en el medio de la tabla, ya que si no le dices lo contrario, Oracle al insertar un registro en un tabla, lo mete en el primer bloque libre que encuentre y le quepa. En este caso ya no te saldrían los resultados buscados.
  #5 (permalink)  
Antiguo 05/07/2007, 03:32
 
Fecha de Ingreso: junio-2007
Mensajes: 9
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Sacar solo el segundo registro de un select

Pues gracias por todo, me has sido de gran ayuda para seguir mirando.
  #6 (permalink)  
Antiguo 05/07/2007, 12:20
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 1 mes
Puntos: 7
Re: Sacar solo el segundo registro de un select

el rowid para determinar el "primer" o "ultimo" registro?

no es posible determinarlo en base al rowid
__________________
Blogzote.com :-) Mi blog
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:18.