Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL:Wählen Sie das letzte volle 5-Minuten-Intervall aus

Ihre Frage ist immer noch nicht ganz klar, da Sie die erwartete Ausgabe basierend auf Ihrer Eingabe nicht erwähnt haben. Sie können diesen Code jedoch verwenden, um start_time und end_time basierend auf now() abzurufen. Ändere now() wie pro Ihre Anforderung.

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

Erklärung:Teilen Sie zuerst die Minuten durch 5, nehmen Sie dann das Wort (entfernen Sie Dezimalstellen) und multiplizieren Sie es mit 5. Dies ergibt die nächste Endzeit. Ziehen Sie 5 Minuten davon ab, um start_time zu erhalten.