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

registros entre lapsos de tiempo

Estas en el tema de registros entre lapsos de tiempo en el foro de Mysql en Foros del Web. hola a todos! ando queriendo saber como obtener los registros que se generan entre determinadas horas todos los santos dias. 1) 12:00 AM - 06:00 ...
  #1 (permalink)  
Antiguo 07/01/2009, 13:25
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 4 meses
Puntos: 1
registros entre lapsos de tiempo

hola a todos!

ando queriendo saber como obtener los registros que se generan entre determinadas horas todos los santos dias.

1) 12:00 AM - 06:00 AM
2) 06:00 AM - 12:00 PM
3) 12:00 PM - 06:00 PM
4) 06:00 PM - 11:59 PM

en la tabla mensajes tengo el campo date (datetime) donde guardo la hora que se creo el mensaje.

osea a las 06:01 AM necesito saber todos los registros que se crearon en (1) para asi avisarle a todos los usuarios de sus nuevos mensajes. y no mandarle uno cada vez que reciben un mensaje y volverlos locos.
alguna idea como hacerlo? CURDATE() no puedo fraccionarlo en bloques de 6 hs?
cualqueir dato sirve par uqe mis usuarios no me odien ;)
saludos!
__________________
On error no hago nada porque deje de fumar...
  #2 (permalink)  
Antiguo 07/01/2009, 13:42
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: registros entre lapsos de tiempo

Saludos

Lo que puedes hacer es restar las fechas de un campo de la tabla con la hora actual ... mmm consulta este link acá , no se si de esta forma te seria util en dado caso lo comentas y pensamos en otra opcion ...



Hasta Pronto!.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 07/01/2009, 13:56
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Respuesta: registros entre lapsos de tiempo

No se que lenguaje de programacion este usando


la consulta para traer los registros entre un rngo de horas es esta

select * from usuario where time(d_ultimo_login) between "10:40:15" and "11:26:06";


pero primero tiene que con un ocndicional determinar de que hora a que hora va a realizar el between de la consulta dependiendo la hora actual "supongo"

Espero le sirva
  #4 (permalink)  
Antiguo 07/01/2009, 15:05
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: registros entre lapsos de tiempo

Agrupando por horas. La idea es esta:

SELECT hora, FLOOR( HOUR( hora ) /6 ) +1 grupo
FROM `tabla`
GROUP BY FLOOR( HOUR( hora ) /6 )

Puedes hacer búsquedas naturalmente con ese criterio...
  #5 (permalink)  
Antiguo 07/01/2009, 18:31
 
Fecha de Ingreso: marzo-2004
Mensajes: 32
Antigüedad: 20 años
Puntos: 0
Respuesta: registros entre lapsos de tiempo

Bueno con esto yo creo que funciona, aunque visualmente no sea muy ortodoxo:

Cita:
SELECT
IF (HOUR(hora) BETWEEN 0 and 5,1,
IF (HOUR(hora) BETWEEN 6 and 11,2,
IF (HOUR(hora) BETWEEN 12 and 18,3,4))) AS Periodo,

COUNT (
IF (HOUR(hora) BETWEEN 0 and 5,1,
IF (HOUR(hora) BETWEEN 6 and 11,2,
IF (HOUR(hora) BETWEEN 12 and 18,3,4))) AS Registros
)
FROM tabla
GROUP BY IF (HOUR(hora) BETWEEN 0 and 5,1,
IF (HOUR(hora) BETWEEN 6 and 11,2,
IF (HOUR(hora) BETWEEN 12 and 18,3,4)))
Soy algo novato en todo esto, ya me dirás.
  #6 (permalink)  
Antiguo 08/01/2009, 11:34
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 4 meses
Puntos: 1
Respuesta: registros entre lapsos de tiempo

buena idea... ahi lo pruebo gracias a todos!
__________________
On error no hago nada porque deje de fumar...
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 12:51.