Oracle - SQL-ORACLE: Ultimo registro de una select

 
Vista:

SQL-ORACLE: Ultimo registro de una select

Publicado por slurmmm (20 intervenciones) el 27/04/2001 14:07:59
(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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:SQL-ORACLE: Ultimo registro de una select

Publicado por Juan Carlos Pernia Reyes (8 intervenciones) el 27/04/2001 15:19:42
bueno lo mas facil que te puedo decir es que coloques en el where rowid in ( select max(rowid)
from )
en el from tu tabla y el wuere de tu select si lo tienes sino con colocar select max(rowid) from ???

??? = el nombre de tu tabla.

bay
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SQL-ORACLE: Ultimo registro de una select

Publicado por slurmmm (20 intervenciones) el 27/04/2001 16:04:05
Eso no funciona, porque entonces me sacaría el que tuviese el rowid más alto (el rowid es un alfanumerico), y yo lo que quiero que me devuelva es el de rownum más alto para esa select concreta.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SQL-ORACLE: Ultimo registro de una select

Publicado por Ken (115 intervenciones) el 02/05/2001 23:33:18
Select *
from (select * from tabla
order by ..... desc )
where rownum = 1 ;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:SQL-ORACLE: Ultimo registro de una select

Publicado por David Alfonso (2 intervenciones) el 24/11/2014 23:15:46
Excelente me funcionò, eso tambien necesitaba.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SQL-ORACLE: Ultimo registro de una select

Publicado por Patricio Barriga (1 intervención) el 13/03/2017 19:06:38
Excelente , me funciono de una...!, gracias por el aporte!!! 10/10
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SQL-ORACLE: Ultimo registro de una select

Publicado por Rosalía Moreno (1 intervención) el 09/07/2018 21:05:47
Muy bueno.
pero quisiera tener el último registro no de la tabla sino de de una PERSONA luego de ser ordenado por PERSONA Y FECHA DE PAGO Descendiente, por ejemplo:

Ej:

PERSONA FECHA DE PAGO MONTO
José 15/01/2018 100
Daniel 15/04/2018 120
José 15/04/2018 120
Daniel 15/01/2018 100
José 15/07/2018 150
Daniel 15/07/2018 150
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SQL-ORACLE: Ultimo registro de una select

Publicado por Carlos Jurado (10 intervenciones) el 25/05/2001 16:08:48
Puedes ordearlo por ROWID descendente y que solo traiga un registro, ejemplo:
Select codigo_empleado, nombre
from empleados
where rownum < 2
order by rowid desc;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SQL-ORACLE: Ultimo registro de una select

Publicado por Carlos Arturo Castro Castro (1 intervención) el 10/04/2009 02:29:50
Cordial saludo.
Un poco tarde pero acabo de llegar al foro. Le puede servir a alguien más.
Esta es otra solución no necesariamente la más eficiente

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;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

SQL-ORACLE: Ultimo registro de una select

Publicado por Neo (1 intervención) el 03/04/2012 23:49:24
de todas maneras necesitas una columna de orden, aun asi no podras usar ni rownum, ni otro sino usar otro select interior de la siguiente manera:
select

(select crmctcr.c_codage from crmctcr where crmctcr.c_codcli = clmpers.c_codper and
crmctcr.d_fecapr = (SELECT MAX(CRMSOCR.D_FECSOL) FROM CRMSOCR WHERE crmctcr.c_codcli = CRMSOCR.C_CODPER)) from clmpers

aqui estoy usando otra tabla similar para concatenar el ultimo registro con fecha.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar