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

Ultimo Registro Sql Row_number

Estas en el tema de Ultimo Registro Sql Row_number en el foro de SQL Server en Foros del Web. Estimados, Tengo una duda, tengo que hacer Un Query que me devuelva los ultimos registros los cuales después los debo mostrar- Tabla Rocket - fecha ...
  #1 (permalink)  
Antiguo 21/10/2013, 20:55
 
Fecha de Ingreso: julio-2011
Mensajes: 39
Antigüedad: 12 años, 9 meses
Puntos: 0
Ultimo Registro Sql Row_number

Estimados,

Tengo una duda, tengo que hacer Un Query que me devuelva los ultimos registros los cuales después los debo mostrar-

Tabla Rocket
- fecha
- evento
- tipo
- hora

Debo rescatar los últimos registros de esa tabla con los campos que aparecen, lo estaba haciendo con Row_Number porque así me lo pidieron y necesito ayuda, los campos que más me importan son EVENTO y FECHA.

Select fecha, evento,tipo, hora from (Select row_number () over as r ( no recuerdo que mas ) hahaha


Saludos, espero que me puedan ayudar.
  #2 (permalink)  
Antiguo 21/10/2013, 21:02
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Ultimo Registro Sql Row_number

Código SQL:
Ver original
  1. SELECT top 10 FROM (
  2. SELECT ROW_NUMBER() OVER(partition BY....no se que mas.....
  3. ) ORDER BY columna_row_number DESC
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 22/10/2013, 01:18
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 11 años, 9 meses
Puntos: 40
Respuesta: Ultimo Registro Sql Row_number

Intenta esta instrucción:
Código SQL:
Ver original
  1. SELECT *
  2. FROM    (SELECT ROW_NUMBER() OVER(Partition BY....ORDER BY.....) N,
  3.                 *
  4.         FROM    MiTabla) T
  5. WHERE   N<=10;
Ten en cuenta que el Row_Number debe ser ordenado al revés,
así que los 10 últimos sean los 10 primeros.
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog
  #4 (permalink)  
Antiguo 22/10/2013, 08:11
 
Fecha de Ingreso: abril-2012
Ubicación: Capital Federal
Mensajes: 283
Antigüedad: 12 años
Puntos: 15
Respuesta: Ultimo Registro Sql Row_number

Disculpen, no se podría haber hecho algo así:

Código SQL:
Ver original
  1. SELECT top 10 *
  2. FROM (
  3.           SELECT *
  4.          FROM tabla
  5.          ORDER BY campo DESC) T1

Espero sus aclaraciones

Saludos

damimg
  #5 (permalink)  
Antiguo 22/10/2013, 08:22
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 11 años, 9 meses
Puntos: 40
Respuesta: Ultimo Registro Sql Row_number

Daming- esto es correcto cuando queremos obtener los ultimos 10 filas de todo el conjunto,
pero no cuando queremos los ultimos 10 de cada grupo (por ejemplo- los ultimos 10 de cada mes o de cada agente o de cada producto).
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog
  #6 (permalink)  
Antiguo 22/10/2013, 12:18
 
Fecha de Ingreso: abril-2012
Ubicación: Capital Federal
Mensajes: 283
Antigüedad: 12 años
Puntos: 15
Respuesta: Ultimo Registro Sql Row_number

Cita:
Iniciado por GeriReshef Ver Mensaje
Daming- esto es correcto cuando queremos obtener los ultimos 10 filas de todo el conjunto,
pero no cuando queremos los ultimos 10 de cada grupo (por ejemplo- los ultimos 10 de cada mes o de cada agente o de cada producto).
No había tenido en cuenta ese filtro por grupo, creí que para el total del grupo.

Si ese es el caso, se debería usar row_number() como lo plantean.

Igualmente GeriReshef volviendo a la query que planteo yo, se podria evitar el subselect del FROM dando el mismo resultado


Código SQL:
Ver original
  1. SELECT top 10 *
  2. FROM tabla
  3. ORDER BY campo DESC


Saludos

damimg
  #7 (permalink)  
Antiguo 22/10/2013, 13:23
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Ultimo Registro Sql Row_number

No no da el mismo resultado porque lo que esta pidiendo son los registros agrupados por fechas no simplemente el top 10 al reves...
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #8 (permalink)  
Antiguo 22/10/2013, 16:54
 
Fecha de Ingreso: abril-2012
Ubicación: Capital Federal
Mensajes: 283
Antigüedad: 12 años
Puntos: 15
Respuesta: Ultimo Registro Sql Row_number

Cita:
Iniciado por Libras Ver Mensaje
No no da el mismo resultado porque lo que esta pidiendo son los registros agrupados por fechas no simplemente el top 10 al reves...
Esta bien Libras, yo me referia a que da el mismo resultado a la query que habia planteado yo que tenia una subconsulta en el FROM
  #9 (permalink)  
Antiguo 28/10/2013, 19:43
 
Fecha de Ingreso: julio-2011
Mensajes: 39
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Ultimo Registro Sql Row_number

Muchas gracias por su ayuda =) lo pude resolver, disculpen la demora pero he estado un poco ocupado.

Unos maestros como siempre saludos...


pd: deberían cerrar el post

Etiquetas: fecha, registro, select, sql, tabla, 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 02:09.