汇总MySQL中给定日期的总时间段

che*_*osh -2 php mysql sql laravel laravel-4

我需要MySQL查询以下内容.我有一个时间表如下:

`active_periods`
+----+--------+---------+------------+------------+
| Id |   Day  | All Day | Start Time |  End Time  |
+----+--------+---------+------------+------------+
| 1  | Friday |    0    |  18:00:00  |  22:00:00  |
 ---- -------- --------- ------------ ------------
| 2  | Friday |    0    |  06:00:00  |  13:00:00  |
 ---- -------- --------- ------------ ------------
 INT  VARCHAR  TINYINT   TIME         TIME
Run Code Online (Sandbox Code Playgroud)

使用MySQL查询,我需要能够计算这些时间段,并在星期五的这些给定时间段之间返回15分钟的块数.所以从上面的表格我会得到44分 15分钟的答案.

提前致谢.

pet*_*erm 8

你在找这样的东西吗?

SELECT SUM(TIME_TO_SEC(TIMEDIFF(end_time, start_time)) / 60 / 15) total
  FROM active_periods
 WHERE day = 'Friday'
Run Code Online (Sandbox Code Playgroud)

输出:

| TOTAL |
---------
|    44 |

这是SQLFiddle演示