AVG日期时间间隔,显示天数和小时数

时间:2013-01-24 14:12:37

标签: php mysql timestamp average

我正在尝试计算表格列(hit_date)中TIMESTAMP(YY-MM-DD HH:MM:SS)记录之间的平均间隔。

我是在MySql中做到的:

SELECT DATEDIFF(MAX(hit_date), MIN(hit_date)) / (COUNT(hit_date) - 1) AS hitavg FROM my_table

返回一个值,即135.50。

然后,我在PHP中执行此操作以显示结果:

$value = ($res_from_mysql_query);

$days = (int) $value;
$hours = 24 * ($value - $days);

echo "$days Days, $hours Hours";

我的结果是:

135天,0小时。

但这不是正确的结果......出了什么问题? 我是否要在MySql中使用TIMEDIFF?如果是的话,我得到了一个完全不同的值...那么,我该如何实现我的PHP脚本呢?

如何正确显示此间隔的天数和小时数?

请帮助我改进这一点,任何帮助都会非常感激!

1 个答案:

答案 0 :(得分:1)

那个代码怎么样:

SELECT TIMESTAMPDIFF(HOUR, MIN(hit_date), MAX(hit_date)) / (COUNT(*)-1) AS hitavg FROM my_table

TIMESTAMPDIFF(UNIT, DATETIMEEXP1, DATETIMEEXP2)返回DATETIMEEXP1和DATETIMEEXP2之间的HOURS差异。对于每个“select”,查询找到第一次和最后一次命中(访问)的日期和总访问次数,然后计算算术平均值。 然后在PHP中显示差异的简单方法......

也许你应该看看这些MySQL参考:

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

相关问题