CREATE TABLE `visits` ( `id` int(5) UNSIGNED NOT NULL AUTO_INCREMENT, `date` varchar(20) collate latin2_general_ci NOT NULL DEFAULT '', `ip` varchar(20) collate latin2_general_ci NOT NULL DEFAULT '', `data` text collate latin2_general_ci NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`), KEY `id_2` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin2 COLLATE=latin2_general_ci AUTO_INCREMENT=2 ; -- -- Zrzut danych tabeli `visits` -- INSERT INTO `visits` VALUES (1, '1139181984', '83.100.100.100', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.02');
lub dla mysql:
SELECT count( id ) AS num, extract(dow FROM date) AS day FROM stats GROUP BY day ORDER BY day ASC
jedna róznica, pole date typu date...
SELECT count( id ) AS num, dayofweek(date) AS day FROM stats GROUP BY day ORDER BY day ASC
Dodatkowo musisz określić miesiąc. Sposób zależy odod tego jaki masz typ danych w kolumnie data_odwiedzin).
SELECT o.data_odwiedzin, u.login FROM uzytkownicy AS u LEFT JOIN odwiedziny AS o ON u.id_uzytkownik = o.id_uzytkownik WHERE u.login = 'JakisLogin'
SELECT o.data_odwiedzin, count(o.id_odwiedziny) AS ilosc, month(data_odwiedzin) AS miesiac, u.login FROM uzytkownicy AS u LEFT JOIN odwiedziny AS o ON u.id_uzytkownik = o.id_uzytkownik WHERE u.login = 'JakisLogin' GROUP BY miesiac ORDER BY miesiac ASC