WP
^_^
Выборка первой и последней записи из группы.
Есть таблица с HTTP-запросами.[sql]CREATE TABLE `xE_webstat_requests` (
`rid` bigint(20) unsigned NOT NULL auto_increment, -- ID запроса
`wsid` bigint(20) unsigned NOT NULL default '0', -- ID сессии
`rtime` int(11) NOT NULL default '0', -- Время запроса
`ip` int(11) unsigned NOT NULL default '0', -- IP
`url` text NOT NULL, -- URL
`referer` text NOT NULL, -- Referer
`useragent` text NOT NULL, - User-agent header
PRIMARY KEY (`rid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COMMENT='Webstat Requests' [/sql]
Хочу сделать статистику по точкам входа и точкам выхода, т.е. получить все `url` с минимальными и максимальными `rid` (в рамках одних `wsid`), и сгруппировать по `url`. Т.е. в результате нужна таблица URL <-> Кол-во. Объемы большие, поэтому хотелось бы как можно шустрее способ.
Вот так решил для точек входа. А как быть с точками выхода?
[sql]SELECT SQL_CALC_FOUND_ROWS `url`, COUNT(DISTINCT `wsid`) AS `amount` FROM `xE_webstat_requests` GROUP BY `url` ORDER BY `amount` DESC LIMIT 0,10[/sql]
За тупизну извиняйте, надо больше спать =) Спасибо.
-~{}~ 24.06.06 16:25:
сделал с временной таблицей.
Есть таблица с HTTP-запросами.[sql]CREATE TABLE `xE_webstat_requests` (
`rid` bigint(20) unsigned NOT NULL auto_increment, -- ID запроса
`wsid` bigint(20) unsigned NOT NULL default '0', -- ID сессии
`rtime` int(11) NOT NULL default '0', -- Время запроса
`ip` int(11) unsigned NOT NULL default '0', -- IP
`url` text NOT NULL, -- URL
`referer` text NOT NULL, -- Referer
`useragent` text NOT NULL, - User-agent header
PRIMARY KEY (`rid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COMMENT='Webstat Requests' [/sql]
Хочу сделать статистику по точкам входа и точкам выхода, т.е. получить все `url` с минимальными и максимальными `rid` (в рамках одних `wsid`), и сгруппировать по `url`. Т.е. в результате нужна таблица URL <-> Кол-во. Объемы большие, поэтому хотелось бы как можно шустрее способ.
Вот так решил для точек входа. А как быть с точками выхода?
[sql]SELECT SQL_CALC_FOUND_ROWS `url`, COUNT(DISTINCT `wsid`) AS `amount` FROM `xE_webstat_requests` GROUP BY `url` ORDER BY `amount` DESC LIMIT 0,10[/sql]
За тупизну извиняйте, надо больше спать =) Спасибо.
-~{}~ 24.06.06 16:25:
сделал с временной таблицей.