我的表data
包含start
列和End
列。列的开头和结尾具有以下格式的日期和时间:2012-04-06 07:43:05。我需要这样做:结束 - 开始(显然每行)并将所有结果时间相加。 [只有时间字段减法就足够了,因为开始和结束的日期可能相同]
这么简单吗?
答案 0 :(得分:1)
我可能会通过在MySQL中使用UNIX_TIMESTAMP()将日期转换为unix时间戳来实现此目的,然后更容易进行这样的计算。
类似的东西:
SELECT
SUM(UNIX_TIMESTAMP(`End`) - UNIX_TIMESTAMP(`start`)) AS time_sum
FROM
data
这将为您提供所有差异的总和,以秒为单位。
答案 1 :(得分:0)
select sum(timediff(`start`, `end`)) as diff_sum
from your_table
答案 2 :(得分:0)
你可以使用datediff来获取天数,或者使用timediff来获得像'01:23:45'这样的时间, 或者我最喜欢的unix时间戳,它返回了一些数据
UNIX_TIMESTAMP(end) - UNIX_TIMESTAMP(start) AS sec