Dit spørgsmål er stadig ikke særlig klart, da du ikke nævnte forventet output baseret på dit input. Du kan dog bruge denne kode til at få start_time og end_time baseret på nu(). Skift now()
efter dit krav.
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();
Forklaring:Del først minutterne med 5, tag derefter ordet (fjern decimalen) og gang det med 5. Dette vil give dig nærmeste sluttidspunkt. Træk 5 minutter fra det for at få start_time.