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

MySQL - jak pogrupować godziny, przesunięte o 30 minut

Rozwiązaniem jest użycie tabeli pomocniczej, która zawiera twój przedział czasu.

FromHour i ToHour to tylko ciągi

TABLE timeslice
ID | FromHour | ToHour | NextDay
---+----------+--------+-------
1  | 00:30    | 01:30  | 0
2  | 01:30    | 02:30  | 0
<snip>
24 | 23:30    | 00:30  | 1

select date(date) aDate, ID ,date, bidOpen, max(bidHigh),min(bidLow)
from data inner join timeslice
    ON date >= CONCAT(date(Date),' ',FromHour) 
    and date < concat(date(DATEADD(day,NextDay,date),' ',ToHour)
group by aDate, ID


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Godny polecenia system tworzenia kopii zapasowych na gorąco dla MySQL?

  2. Usuwanie duplikatów z wyniku wielokrotnego łączenia tabel z różnymi kolumnami w MySQL

  3. php mysql przechowuje podziały wierszy w obszarze tekstowym w bazie danych

  4. MySQL Błąd 1064 podczas dodawania klucza obcego za pomocą MySQL Workbench

  5. 2 sposoby zwracania wierszy zawierających tylko znaki niealfanumeryczne w MySQL