Php MySQL行中的日期时间总和
问题: 是否可以将MySQL中的所有行分组并计算小时数Php MySQL行中的日期时间总和,php,mysql,Php,Mysql,问题: 是否可以将MySQL中的所有行分组并计算小时数 Starttime - type:datetime, Stoptime - type:datetime 数据 Starttime, stoptime 2016-10-25 09:00:00, 2016-10-29 17:00:00 2016-11-26 09:00:00, 2016-11-26 17:00:00 2016-11-30 09:00:00, 2016-11-30 17:00:00 2017-01-28 09:00:00, 20
Starttime - type:datetime, Stoptime - type:datetime
数据
Starttime, stoptime
2016-10-25 09:00:00, 2016-10-29 17:00:00
2016-11-26 09:00:00, 2016-11-26 17:00:00
2016-11-30 09:00:00, 2016-11-30 17:00:00
2017-01-28 09:00:00, 2017-01-28 17:45:00
以下代码汇总了2016-10-25和2017-01-28之间的所有小时数。我需要它对每一行的所有时间求和,然后将所有行加在一起。是否可以在MySQl中求和,或者我是否绑定到PHP
SELECT
MIN(starttime),
MAX(stoptime),
SUM(TIME_TO_SEC(TIMEDIFF(stoptime, starttime))/3600) AS total_hours
FROM mytable WHERE id = 1219
要总结所有差异,您不需要
min(开始时间)
或max(停止时间)
,只需使用的sum
,例如
如果您想要分数小时,请将时间保持在秒(…)/3600
如您的问题所示
select sum(time_to_sec(timediff(stoptime, starttime)) / 3600)
from mytable
另见似乎正确。。问题是什么?问题是我想(如果可能的话)总结一下MySQL中的所有时间。先是一行一行,然后是所有的行。我可以通过使用MySQL和PHP来实现这一点。但是我想知道,仅仅使用MySQL是否可以更有效地实现这一点?如果您需要所有行的总小时数,为什么有
where id=1219
子句?如果id=1219
仅对应一行,那么仅1行/列值的min
和max
的含义是什么?
select sum(time_to_sec(timediff(stoptime, starttime)) / 3600)
from mytable