2010-09-19 130 views
1

这与我的other question有关。Mysql:计算访问间的平均时间

我有这个表

CREATE OR REPLACE TABLE hits (ip bigint, page VARCHAR(256), agent VARCHAR(1000), 
           date datetime) 

,我想计算的Googlebot访问的每个页面之间的平均时间。

... WHERE agent like '%Googlebot%' group by page order by date 

喜欢的东西

select datediff('2010-09-18 04:20:47', '2010-09-16 05:23:04') 

但在表
如果没有MySQL的方式每次约会,我怎么能在PHP这样做呢?

回答

3
SELECT page, TIMESTAMPDIFF(SECOND, MIN(date), MAX(date))/(COUNT(*)-1) FROM hits 
WHERE agent like '%Googlebot%' GROUP BY page; 

TIMESTAMPDIFF(SECOND, a, b)返回日期表达式a和b之间的差值,以秒为单位。对于每个页面,查询会查找第一次和最后一次访问的日期以及总访问次数,并计算算术平均值。