Obtener el último registro en una tabla

16/03/2005 - 19:27 por Liam | Informe spam
Saludos a todos, alguien sabe como puedo hacer una consulta que sólo me
devuelva el último registro de una tabala, necesito algo como SELECT * FROM
tabla pero solo el último registro.

Muchas gracias.

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera [MVP]
16/03/2005 - 19:44 | Informe spam
El ultimo registro basado en cual ordenamiento de los registros?

Gustavo Larriera
Uruguay LatAm
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Blog: http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and
confers no rights.



"Liam" wrote in message news::

Saludos a todos, alguien sabe como puedo hacer una consulta que sólo me
devuelva el último registro de una tabala, necesito algo como SELECT * FROM
tabla pero solo el último registro.

Muchas gracias.
Respuesta Responder a este mensaje
#2 Alejandro Mesa
16/03/2005 - 19:47 | Informe spam
Liam,

Sql Server es un rdbms orientado a conjuntos y el concepto ultimo no es
aplicable a esta teoria, una tabla no es un archivo sequencial. Si deseas
obtener el ultimo basado en un criterio entonces puedes usar el operador TOP
en la sentencia select junto con la clausula ORDER BY.

Ejemplo:


use northwind
go

select top 1 with ties
*
from
dbo.orders
order by
orderdate desc
go


AMB

"Liam" wrote:

Saludos a todos, alguien sabe como puedo hacer una consulta que sólo me
devuelva el último registro de una tabala, necesito algo como SELECT * FROM
tabla pero solo el último registro.

Muchas gracias.



Respuesta Responder a este mensaje
#3 quark
16/03/2005 - 20:57 | Informe spam
También puedes usar SELECT MAX( ID ) siendo ID un valor secuencial dentro de
la tabla, siempre que exista algún campo así, claro !!!

Saludos !!!

"Alejandro Mesa" escribió en el
mensaje news:
Liam,

Sql Server es un rdbms orientado a conjuntos y el concepto ultimo no es
aplicable a esta teoria, una tabla no es un archivo sequencial. Si deseas
obtener el ultimo basado en un criterio entonces puedes usar el operador


TOP
en la sentencia select junto con la clausula ORDER BY.

Ejemplo:


use northwind
go

select top 1 with ties
*
from
dbo.orders
order by
orderdate desc
go


AMB

"Liam" wrote:

> Saludos a todos, alguien sabe como puedo hacer una consulta que sólo me
> devuelva el último registro de una tabala, necesito algo como SELECT *


FROM
> tabla pero solo el último registro.
>
> Muchas gracias.
>
>
>
Respuesta Responder a este mensaje
#4 Alejandro Mesa
16/03/2005 - 21:43 | Informe spam
quark,

Es cierto lo que planteas, solo que si se necesitan todas las columnas de
esa fila(s), tendrias que modificar el select:

select *
from dbo.orders
where orderdate = (select max(orderdate) from dbo.orders);

Por cierto, yo prefiero esta version.


AMB

"quark" wrote:

También puedes usar SELECT MAX( ID ) siendo ID un valor secuencial dentro de
la tabla, siempre que exista algún campo así, claro !!!

Saludos !!!

"Alejandro Mesa" escribió en el
mensaje news:
> Liam,
>
> Sql Server es un rdbms orientado a conjuntos y el concepto ultimo no es
> aplicable a esta teoria, una tabla no es un archivo sequencial. Si deseas
> obtener el ultimo basado en un criterio entonces puedes usar el operador
TOP
> en la sentencia select junto con la clausula ORDER BY.
>
> Ejemplo:
>
>
> use northwind
> go
>
> select top 1 with ties
> *
> from
> dbo.orders
> order by
> orderdate desc
> go
>
>
> AMB
>
> "Liam" wrote:
>
> > Saludos a todos, alguien sabe como puedo hacer una consulta que sólo me
> > devuelva el último registro de una tabala, necesito algo como SELECT *
FROM
> > tabla pero solo el último registro.
> >
> > Muchas gracias.
> >
> >
> >



Respuesta Responder a este mensaje
#5 quark
18/03/2005 - 10:13 | Informe spam
Alejandro

Tu versión está muy bien, me gusta.
Sólo, que si se precisa únicamente el número máximo cargas en exceso el
sistema ... pero como bien dices para gustos colores :-)
Saludos !!!

"Alejandro Mesa" escribió en el
mensaje news:
quark,

Es cierto lo que planteas, solo que si se necesitan todas las columnas de
esa fila(s), tendrias que modificar el select:

select *
from dbo.orders
where orderdate = (select max(orderdate) from dbo.orders);

Por cierto, yo prefiero esta version.


AMB

"quark" wrote:

> También puedes usar SELECT MAX( ID ) siendo ID un valor secuencial


dentro de
> la tabla, siempre que exista algún campo así, claro !!!
>
> Saludos !!!
>
> "Alejandro Mesa" escribió en


el
> mensaje news:
> > Liam,
> >
> > Sql Server es un rdbms orientado a conjuntos y el concepto ultimo no


es
> > aplicable a esta teoria, una tabla no es un archivo sequencial. Si


deseas
> > obtener el ultimo basado en un criterio entonces puedes usar el


operador
> TOP
> > en la sentencia select junto con la clausula ORDER BY.
> >
> > Ejemplo:
> >
> >
> > use northwind
> > go
> >
> > select top 1 with ties
> > *
> > from
> > dbo.orders
> > order by
> > orderdate desc
> > go
> >
> >
> > AMB
> >
> > "Liam" wrote:
> >
> > > Saludos a todos, alguien sabe como puedo hacer una consulta que sólo


me
> > > devuelva el último registro de una tabala, necesito algo como SELECT


*
> FROM
> > > tabla pero solo el último registro.
> > >
> > > Muchas gracias.
> > >
> > >
> > >
>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida