MySQL Group by specific 24 hour interval -


i have mysql table, timestamps values in each row. objective sum values of amount column, , group custom 24 hour interval, starting 05:30:00 every day.

input:

timestamp                 amount --------------            ------ 2015-01-19 08:30:12       4 2015-01-19 15:37:40       2 2015-01-20 01:57:38       2 2015-01-20 07:10:07       4 2015-01-20 22:10:38       2 2015-01-21 08:35:55       4 

expected:

interval                                      sum(amount) -------------                                 ----------- 2015-01-19 05:30:00 - 2015-01-20 05:30:00     8 2015-01-20 05:30:00 - 2015-01-21 05:30:00     6  2015-01-21 05:30:00 - 2015-01-22 05:30:00     4 

i have tried implementing solution(s) presented here groupinginto interval of 5 minutes within time range , here mysql group 24 hour intervals - without success.

you can subtracting 5.5 hours , aggregating date:

select date_add(date(timestamp - interval (5*60 + 30) minute), interval (5*60 + 30)  minute) interval_start,        date_add(date(timestamp - interval (5*60 + 30) minute), interval (24*60 + 5*60 + 30)  minute) interval_end,        count(*) cnt t group date(timestamp - interval (5*60 + 30) minute) order interval_start; 

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -