Frage

Das im Zusammenhang mit meiner anderen Frage .

Ich habe diese Tabelle

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

und ich mag für jede Seite durchschnittliche Zeit zwischen Googlebot Besuch berechnen.

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

So etwas wie

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

aber für jeden Tag in der Tabelle
Wenn es kein mysql Art und Weise ist, wie kann ich tun dies in php?

War es hilfreich?

Lösung

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

TIMESTAMPDIFF(SECOND, a, b) gibt die Differenz in Sekunden zwischen dem Datum Ausdrücke a und b. Für jede Seite, findet die Abfrage das Datum des ersten und letzten Besuchs und die Gesamtzahl der Besuche, und berechnet das arithmetische Mittel.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top