1

これは私の他の質問に関連しています。

私はこのテーブルを持っています

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でこれを行うにはどうすればよいですか?

4

1 に答える 1

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の差を秒単位で返します。ページごとに、クエリは最初と最後の訪問の日付と訪問の総数を見つけ、算術平均を計算します。

于 2010-09-19T09:30:10.907 に答える