我正在尝试计算表格列(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脚本呢?
如何正确显示此间隔的天数和小时数?
请帮助我改进这一点,任何帮助都会非常感激!
答案 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