Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL:selecione o último intervalo completo de 5 minutos


Sua pergunta ainda não está muito clara, pois você não mencionou a saída esperada com base em sua entrada. No entanto, você pode usar este código para obter start_time e end_time com base em now(). Altere now() conforme sua exigência.
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();

Explicação:Primeiro divida os minutos por 5, depois pegue o piso (remova o decimal) e multiplique por 5. Isso lhe dará o tempo final mais próximo. Subtraia 5 minutos para obter start_time.