sql >> Base de Datos >  >> RDS >> Mysql

MySQL:seleccione el último intervalo completo de 5 minutos

Su pregunta aún no es muy clara ya que no mencionó el resultado esperado en función de su entrada. Sin embargo, puede usar este código para obtener start_time y end_time según now(). Cambiar now() según su requerimiento.

select 
date_sub(str_to_date(concat(hour(now()),':',floor(minute(now())/5)*5),'%H:%i'),interval 5 minute) as start_time,
str_to_date(concat(hour(now()),':',floor(minute(now())/5)*5),'%H:%i') as end_time,
now();

Explicación:Primero divida los minutos por 5, luego tome la palabra (elimine el decimal) y multiplíquelo por 5. Esto le dará la hora de finalización más cercana. Resta 5 minutos para obtener start_time.