SQL - Primeros 5 reg. de cada empleado

 
Vista:

Primeros 5 reg. de cada empleado

Publicado por Juan (6 intervenciones) el 08/12/2005 18:10:29
Hola, necesito realizar el siguiente query, debo obtener los 5 ultimos salarios de cada empleado.

Hasta el momento obtengo todos los salarios de los empleados de mayor a menor solo falta cortarlos para solo obtener los últimos 5.

EMPLEADO SALARIO
1 10,000
1 9,700
1 9,200
1 9,000
1 8,500
1 8,000 ESTE NO LO NECESITO
2 15,000
2 13,900

Estoy checando el ROWNUM pero hasta el momento no lo he logrado.

De antemano gracias.

Saludos.
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:Primeros 5 reg. de cada empleado

Publicado por LSamboy (8 intervenciones) el 08/12/2005 21:57:39
hola.

se me ocurre algo lo cual pienso que te puede ayudar.

porque no intentas tratar esos ultimos sueldo a traves de la fecha, o sea
deberas realizar un query que te permita aceptar dos fecha una inicial y otra final
en donde ese margen de fecha entren esos 5 ultimos sueldos, ejemplo
01/01/2005 al 17/03/2005 con esta entrada debe traerte por obligacion esas 5 quincenas.

saludos, L.Samboy
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
sin imagen de perfil

RE:Primeros 5 reg. de cada empleado

Publicado por Liliana (426 intervenciones) el 09/12/2005 13:55:17
Espero que te sirva,
Liliana.

CREATE TABLE test (
Emp int,
Salario dec(10,2) )
GO

INSERT test SELECT 1, 10000
INSERT test SELECT 1, 9700
INSERT test SELECT 1, 9200
INSERT test SELECT 1, 9000
INSERT test SELECT 1, 8500
INSERT test SELECT 1, 8000
INSERT test SELECT 2, 15000
INSERT test SELECT 2, 13900
go

SELECT Test.Emp
, Test.Salario
FROM (SELECT t1.Emp
, t1.Salario
FROM Test AS T1
JOIN Test AS T2 ON T1.Emp = T2.Emp
AND T1.Salario <= T2.Salario
GROUP BY T1.Emp
, T1.Salario
HAVING COUNT(*) <= 5) AS Ultimas3
INNER JOIN Test
ON Test.Emp = Ultimas3.Emp
AND Test.Salario = Ultimas3.Salario
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