Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

SQL - Limitar cantidad de filas y/o registros

  Imprimir  
Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:

Limitar cantidad de filas y/o registros

Autor:JP (2 intervenciones)
Fecha: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
Responder
información
Otras secciones de LWP con contenido similar...
Imágen de perfil de xve
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Limitar cantidad de filas y/o registros

Autor:xve (202 intervenciones)
Fecha: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í:

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.
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Limitar cantidad de filas y/o registros

Autor:JP (2 intervenciones)
Fecha: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
Comentar