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

obtener ultimo registro de una consulta

Estas en el tema de obtener ultimo registro de una consulta en el foro de Bases de Datos General en Foros del Web. Hola foro quisiera saber como podría obtener el ultimo registro en una consulta en sql server, q no sea por la sentencia MAX....
  #1 (permalink)  
Antiguo 19/05/2010, 17:35
Avatar de Lizy94  
Fecha de Ingreso: diciembre-2009
Mensajes: 149
Antigüedad: 14 años, 11 meses
Puntos: 0
obtener ultimo registro de una consulta

Hola foro quisiera saber como podría obtener el ultimo registro en una consulta en sql server, q no sea por la sentencia MAX.
  #2 (permalink)  
Antiguo 19/05/2010, 19:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: obtener ultimo registro de una consulta

El problema es la definición de último.
Si te refieres al último ingresado, para poder establecerlo debe tener un campo de tipo DATETIME o similar que almacene el momento en que se lo insertó, o en su defecto, algún campo ID incremental, o algo que permita saber cuál fue el último.
El problema es que los registros de una tabla (sin importar mucho cuál DBMS sea), no se ordenan por orden de ingreso, sino en base a su PK, que es el que establece su orden físico (genera un índice cluster). El tema es que si la PK no es numérica e incremental, o de tipo fecha-hora, el orden físico no coincidirá con el orden de entrada temporal...
¿Se entiende?

En definitiva, si tienes una PK ID numérica e incremental, o de tipo fecha-hora, y no quieres usar MAX() para obtener el valor buscado, deberás ordenarlos en forma descendente y tomar sólo el primero. Algo así como
Código MySQL:
Ver original
  1. FROM tabla
  2. ORDER BY campo_pk
  3. TOP 1;

Usar MAX() es más simple y eficiente...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 20/05/2010, 00:13
Avatar de Lizy94  
Fecha de Ingreso: diciembre-2009
Mensajes: 149
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: obtener ultimo registro de una consulta

ok, muchas gracias

Etiquetas: registro, ultimo
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 14:24.