Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL - как да групирате час, компенсиран с 30 минути

Решението е да използвате помощна таблица, която съдържа вашия времеви фрагмент.

FromHour и ToHour са само низове

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. Включване на заглавки при използване на SELECT INTO OUTFILE?

  2. Напишете GeoDataFrame в SQL база данни

  3. Подреждане по дата (varchar)?

  4. Как да добавя още членове към моята колона от тип ENUM в MySQL?

  5. Как да проверя настройките на InnoDB?