mysql - 如何获得日期时间范围的总小时数

标签 mysql

如何根据我的日期时间范围计算总小时数

如果我有这个接受的日期范围 2015-09-07 06:00:00 - 2015-09-11 22:00:00

我只想获取用户每天从 06:00:00 到 22:00:00 的小时数,然后对所有小时数求和。

这是我的示例数据

+----+---------+--+---------------------+---------------------+--+
|    |         |  |                     |                     |  |
+----+---------+--+---------------------+---------------------+--+
| id | user_id |  | start_time          | end_time            |  |
| 1  | 24      |  | 2015-09-07 07:10:01 | 2015-09-07 10:20:20 |  |
| 2  | 24      |  | 2015-09-07 12:10:00 | 2015-09-07 15:00:00 |  |
| 3  | 24      |  | 2015-09-07 16:00:00 | 2015-09-07 22:20:20 |  |
| 4  | 24      |  | 2015-09-07 23:25:20 | 2015-09-08 05:00:00 |  |
+----+---------+--+---------------------+---------------------+--+  

提前谢谢你。

最佳答案

简单地使用函数 TIMESTAMPDIFF 几个小时:

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_timestampdiff

示例:

SELECT TIMESTAMPDIFF(HOUR, start_time, end_time) 
           as `difference` FROM timeattendance WHERE user_id = 24

关于mysql - 如何获得日期时间范围的总小时数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33232976/

相关文章:

mysql - MySQL查询中已经使用了两张表,如何引用一张表?

MySQL 查询 GROUP BY WHERE IN

MySQL检查子查询是否返回NULL,然后替换值

mysql - rails 中的多个表连接

mysql - 单击按钮将 (form1) Datagridview "ID"单元格内容传递到文本框中的 (form2)

php - centos中一次执行php文件100000次

php - 哪个更有效的性能明智的价格 mysql 表的尺寸/产品或文本列中 csv 格式的价格

mysql - MySQL 中何时使用单引号、双引号和反引号

php - WHERE gid=$gid LIMIT 26 不起作用?

javascript - 类似 Twitter 的推文框?