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

Selección del penúltimo Registro

Estas en el tema de Selección del penúltimo Registro en el foro de SQL Server en Foros del Web. Qué tal! EStoy realizando una consulta en SQL Server 2003 y me he encontrado con el problema de no saber como hacer una selección del ...
  #1 (permalink)  
Antiguo 16/04/2008, 12:10
 
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 44
Antigüedad: 17 años, 2 meses
Puntos: 0
Selección del penúltimo Registro

Qué tal!

EStoy realizando una consulta en SQL Server 2003 y me he encontrado con el problema de no saber como hacer una selección del penúltimo registro insertado.

Una analogía que he encontrado es que con el mysql utilizan Limit 2, y en el SQL utilizan TOP 2.

La dificultad en la que me hallo es que el TOP 2 me trae los últimos 2, pero yo especificamente necesito hacer la selección de únicamente del penúltimo registro.

Tengo éste código:

Código:
 
SELECT TOP 2 Tag.TagName, DiscreteHistory.fecha
FROM Tag, DiscreteHistory
WHERE Tag.TagName = DiscreteHistory.TagName
AND Tag.TagName = 'OK'
ORDER BY fecha DESC
La ejecución de este query da como resultado:

TagName | Fecha
------------ ---------------------------------
OK | 2008-04-16 10:43:09.870
------------ ----------------------------------
OK | 2008-04-16 10:43:04.997
------------ ----------------------------------

El registro que me interesa es el que dice:

------------ ----------------------------------
OK | 2008-04-16 10:43:04.997
------------ ----------------------------------

Pero no sé como hacer eso... Alguien me podría auxiliar en esa parte.
Les agradezco de antemano.
Saludos!!
  #2 (permalink)  
Antiguo 16/04/2008, 13:00
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Selección del penúltimo Registro

No existe SQL SERVER 2003, ¿Si cambias el TOP 2, por un TOP 1?
  #3 (permalink)  
Antiguo 16/04/2008, 13:22
 
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 44
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Selección del penúltimo Registro

Hola iislas
Es cierto, quise decir 2000.

Lo he intentado y el TOP 1 me trae este dato:

------------ ---------------------------------
OK | 2008-04-16 10:43:09.870
------------ ----------------------------------

y yo necesito el segundo registro que es éste:

------------ ----------------------------------
OK | 2008-04-16 10:43:04.997
------------ ----------------------------------

Cómo le haria?
  #4 (permalink)  
Antiguo 16/04/2008, 13:32
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Selección del penúltimo Registro

Bueno, entonces quitale el DESC en le ORDER BY, ¿que te da?
  #5 (permalink)  
Antiguo 16/04/2008, 13:48
 
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 44
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Selección del penúltimo Registro

Hice lo que me dices y me trae este registro:

------------ ----------------------------------
OK | 2008-04-16 10:42:09.870
------------ ----------------------------------

El cual es uno de los primeros registros del día y No es el penúltimo :(

Encontré algo del SET ROwCount, crees que pueda servirme en la consulta que estoy haciendo???
  #6 (permalink)  
Antiguo 16/04/2008, 17:13
Avatar de Thumper  
Fecha de Ingreso: agosto-2004
Ubicación: Jesús María - Lima - Perú
Mensajes: 270
Antigüedad: 19 años, 8 meses
Puntos: 6
Re: Selección del penúltimo Registro

Prueba esto haber si te liga jeje:

Cita:
DECLARE @TABLE TABLE ( INTID INT, DATFECHA DATETIME)
INSERT INTO @TABLE VALUES( 1, DATEADD(DAY,-1,DATEADD(DAY,-1,GETDATE())) )
INSERT INTO @TABLE VALUES( 2, DATEADD(DAY,-1,GETDATE()) )
INSERT INTO @TABLE VALUES( 3, GETDATE())

SELECT TOP 1 W.INTID, W.DATFECHA
FROM ( SELECT TOP 2 INTID, DATFECHA
FROM @TABLE
ORDER BY DATFECHA DESC ) W
ORDER BY W.DATFECHA
__________________
Martín Alexis Valdivia S.
-----------------------------
"Quisiéramos cambiar el mundo, pero Dios no nos daría el código fuente." CAP
"Si Saber No Es Un Derecho, Seguro Será Un Izquierdo." WD
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 16:45.