Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL :sélectionnez le dernier intervalle complet de 5 minutes

Votre question n'est toujours pas très claire car vous n'avez pas mentionné le résultat attendu en fonction de votre entrée. Cependant, vous pouvez utiliser ce code pour obtenir start_time et end_time en fonction de now(). Changer now() selon vos besoins.

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();

Explication :Divisez d'abord les minutes par 5, puis prenez la parole (enlevez la décimale) et multipliez-la par 5. Cela vous donnera l'heure de fin la plus proche. Soustrayez 5 minutes pour obtenir start_time.