Mysql在两个日期的差异与天和分钟的结果

时间:2013-12-12 14:26:44

标签: php mysql sql date datetime

我想问一下是否有可能运行像bellow

这样的查询
Table
--
ID, Date1, Date2 (Dates are defined as datetime)

显示我想要Date1和Sate2之间的平均日期时间

例如

Table
--
1, 2013-12-12 16:00:00, 2013-12-13 16:00:00
2, 2013-12-13 15:00:00, 2013-12-14 17:00:00

结果1天1小时0分0秒

到目前为止,我已经完成了这个

SELECT SEC_TO_TIME(AVG(UNIX_TIMESTAMP(SUBTIME(Date2, TIME(Date1))) - UNIX_TIMESTAMP(DATE(Date2)))) as AVGTime 
FROM Table

并且结果不如预期......它显示30分钟和几分钟,我认为有点像1天和几个小时....

你最好理解这个问题,我可以解释一下...... 考虑到有一家公司有一些东西。这些东西在Date1中得到问题,在Date2中得到答案......我想知道整个东西回答问题的平均时间是什么......

2 个答案:

答案 0 :(得分:0)

尝试此查询 -

SELECT
  AVG(DATEDIFF(date2, date1)) days,
  SEC_TO_TIME(AVG(TIME_TO_SEC(TIMEDIFF(date2, date1)))) time
FROM
  table

答案 1 :(得分:0)

在你的情况下它给出,25:00:00(类似于1天,1小时0分钟)

从表中选择SEC_TO_TIME(AVG(TIMESTAMPDIFF(SECOND,date1,date2)))