Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL:wybierz ostatni pełny 5-minutowy interwał

Twoje pytanie nadal nie jest zbyt jasne, ponieważ nie wspomniałeś o oczekiwanych wynikach na podstawie danych wejściowych. Możesz jednak użyć tego kodu, aby uzyskać start_time i end_time na podstawie now(). Zmień now() zgodnie z Twoimi wymaganiami.

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

Wyjaśnienie:Najpierw podziel minuty przez 5, następnie weź piętro (usuń dziesiętne) i pomnóż przez 5. To da ci najbliższy czas zakończenia. Odejmij od tego 5 minut, aby uzyskać start_time.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaki jest odpowiednik MySQL funkcji CHOOSE() w SQL Server?

  2. Problem z pulą połączeń z MySQL przy użyciu Hibernate i Apache DBCP

  3. Zapisywanie ramki danych do tabeli MySql DB

  4. Czy to dziwne, że moje połączenie SQLAlchemy MySQL zawsze kończy się uśpieniem?

  5. Pomoc MySQL:Jak znaleźć wszystkie zamówienia od klienta do ceny <=20 i statusu='nieopłacone'