2010-09-19 127 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之間的差值,以秒爲單位。對於每個頁面,查詢會查找第一次和最後一次訪問的日期以及總訪問次數,並計算算術平均值。