Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

SQL - Obtener ultimo registro en una select

  Imprimir  
Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:

Obtener ultimo registro en una select

Autor:Slurmmm (4 intervenciones)
Fecha:25/04/2001 16:20:15
(Estamos en ORACLE)

Quiero recuperar unicamente el ultimo registro de una select cualquiera. Si quisiera obtener el primero me bastaría con poner en la clausula 'where' lo siguiente: 'and rownum < 2'. Sin embargo no se como sacar el ultimo. He intentado (pero no va) poner lo siguiente:

SELECT....
FROM....
WHERE.... and
rownum = (select max(rownum)
de la misma select)

NOTA: No me sirve poner 'order by rowid desc' porque solo quiero recuperar un registro

Gracias.

P.D.:¿Alguien me puede decir por qué no me va mi propuesta de solución?. Gracias otra vez
Responder
información
Otras secciones de LWP con contenido similar...
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:Obtener ultimo registro en una select

Autor:ibai (47 intervenciones)
Fecha:26/04/2001 16:31:44
Usa la clausula "TOP 1". Ej.
SELECT TOP 1 * FROM... ORDER BY RowId DESC

Espero te sirva
Saludos,
Ibai
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:Obtener ultimo registro en una select

Autor:slurmmm (4 intervenciones)
Fecha:27/04/2001 10:45:59
No va. No conozco la palabra reservada TOP (no se si existe en ORACLE)
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:Obtener ultimo registro en una select

Autor:ibai (47 intervenciones)
Fecha:27/04/2001 11:39:41
Lo siento TOP es de SQL Server. Pero me imagino que tiene que haber algo por el estilo en Oracle. Se le tiene que poder decir que te traiga solo X registros.

Saludos,
Ibai
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:Obtener ultimo registro en una select

Autor:slurmmm (4 intervenciones)
Fecha:27/04/2001 12:53:25
Sí que existe es "rownum". Poniéndole en la clausula "where": "and rownum < 2" me devuelve solo un registro (el primero), ya que el rownum numera a las filas devueltas, pero no sirve para obtener el ultimo registro, porque yo probé:

select ....
from ....
where .... and
rownum = (select max(rownum)
de la misma select)

Y eso no va.

En fin, de todas formas, gracias.
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:Obtener ultimo registro en una select

Autor:JUVER (1 intervención)
Fecha:01/10/2008 18:29:56
prueba con esto..

SELECT *
FROM (SELECT CAMPO1, CAMPO2
FROM TABLA1
WHERE CAMPO3 = 'XXXXXXX'
ORDER BY CAMPO1 DESC)
WHERE ROWNUM = 1;
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:Obtener ultimo registro en una select

Autor:Carlos Arturo Castro Castro (1 intervención)
Fecha:09/04/2009 21:55:15
Cordial saludo.
Un poco tarde pero acabo de llegar al foro. Le puede servir a aguien más.
Esta es otra solución:

SELECT campo FROM tabla WHERE ROWNUM <numRegistro MINUS
SELECT campo FROM tabla WHERE ROWNUM <numRegistro -1;

Si se quiere almacenar en un cursor implícito se puede escribir:

SELECT
(SELECT campo FROM tabla WHERE ROWNUM <numRegistro MINUS
SELECT campo FROM tabla WHERE ROWNUM <numRegistro-1)
INTO variable FROM DUAL;
Comentar