Van egy mysql táblám, amelyben a weblapom látogatásainak technikai adatait (dátum, idő, ip, böngésző, oprendszer, stb.) naplózom statisztikai célból:
CREATE TABLE `adatbázisom`.`visitors` (
`sorszam` int(11) NOT NULL AUTO_INCREMENT ,
`datum` date NOT NULL default '0000-00-00',
`ido` time default NULL ,
`ip` varchar(15) COLLATE utf8_unicode_ci default NULL ,
`kiszolgalo` varchar(250) COLLATE utf8_unicode_ci default NULL ,
`oldal` varchar(60) COLLATE utf8_unicode_ci default NULL ,
`browser` varchar(20) COLLATE utf8_unicode_ci default NULL ,
`os` varchar(2 ) COLLATE utf8_unicode_ci default NULL ,
`getenv` varchar(250) COLLATE utf8_unicode_ci default NULL ,
`ujvendeg` tinyint(4) default NULL ,
PRIMARY KEY (`sorszam`)
) ENGINE = MYISAM DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci;
A táblában az oldal mező tartalmazza a meglátogatott oldal nevét, és szeretném lekérdezni azt, hogy:
- melyik oldalt hányszor látogatták meg a lekérdezésig
- melyik napon történt az adott oldal utolsó látogatása
Az első felével nincs is gond, azt az alábbi lekérdezés megcsinálja nekem szépen
$sqlquery = "SELECT oldal, datum, COUNT(*) AS page_visitor_nums FROM visitors GROUP BY oldal ORDER BY page_visitor_nums DESC ";
De - mivel nem vagyok egy sql-bajnok - az utolsó látogatás időpontjának kinyerésével már bajban vagyok, hiába olvasgatom a mysql dokumentációt. A MAX(datum) függvénnyel próbálkoztam, de vagy elszúrtam a szintaxist, vagy nem is jó az erre ilyen csoportosítás mellett.
Meg lehet ezt csinálni egyáltalán egy lekérdezéssel?