0

我正在尝试计算表中列 (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 脚本?

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

请帮助我改进这一点,任何帮助将不胜感激!

4

1 回答 1

1

那个代码怎么样:

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

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

也许你应该看看这些 MySQL ref:

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

于 2013-01-24T14:34:27.227 回答