SQL - Limitar cantidad de filas y/o registros

 
Vista:

Limitar cantidad de filas y/o registros

Publicado por JP (2 intervenciones) el 10/01/2012 02:06:59
Saludos a todos

Necesito en una base de datos guardar solo los últimos 5 registros.

Me explico mejor en una tabla guardo una fecha y un un numero telefónico, y solamente debo permitir los 5 registros mas recientes.

Ejemplo si la tabla esta con los siguientes datos,

--Fecha Tel
13-11-2011 3159991
14-11-2011 3160989
14-11-2011 3125678
15-11-2011 3213456
16-11-2011 3113255

y se desea adicionar el siguiente registro 16-11-2011 3440989, la tabla debe quedar así:

--Fecha --Tel
14-11-2011 3160989
14-11-2011 3125678
15-11-2011 3213456
16-11-2011 3113255
16-11-2011 3440989

Esto como se puede hacer?

Gracias de antemano
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
Imágen de perfil de xve
Val: 135
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Limitar cantidad de filas y/o registros

Publicado por xve (284 intervenciones) el 10/01/2012 13:20:45
Hola JP, no nos comentas que tipo de base de datos estas utilizando, por lo que te lo muestro en MySQL...

La manera de hacerlo en una misma instrucción seria algo así:

1
2
3
4
DELETE t FROM
`tabla` t LEFT JOIN (SELECT Fecha FROM `tabla` ORDER BY Fecha DESC limit 4,1) as x
ON t.date<x.date
WHERE x.date is not null


La manera de hacerlo en dos instrucciones seria algo así:

1.- Obtenemos el 5 registro
SELECT Fecha FROM `tabla` ORDER BY Fecha DESC LIMIT 4,1
2.- Eliminamos todo lo que sea anterior a esa fecha dada
DELETE FROM `tabla` WHERE Fecha<La fecha resultante de la consulta anterior.

Espero que te sirva.
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

Limitar cantidad de filas y/o registros

Publicado por JP (2 intervenciones) el 10/01/2012 15:50:25
Gracias XVE

Haciéndole algunos ajustes me sirve mucho tu respuesta. Ya que no deseo borrar los datos sino mantener siempre los 5 mas recientes.

Muchas greacias
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