|
MySQL.RU - Webboard
Вернуться
Гистограмма нарушителя (Dober) 02/02/2008 - 05:05:19
Re: Гистограмма нарушителя (bac) 04/02/2008 - 11:14:43
Re: Гистограмма нарушителя (Dober) 04/02/2008 - 15:49:36
Re: Гистограмма нарушителя (bac) 04/02/2008 - 21:06:30
Re: Гистограмма нарушителя (Dober) 05/02/2008 - 08:08:58
Re: вот как сделал (Dober) 05/02/2008 - 15:00:36
> Original message text:
> From: Dober - 02/02/2008 - 05:05:19
> Subject:Гистограмма нарушителя
> -----------------
> есть табличка нарушений
> id | time | нарушительid | ...
>
> хочу построить гистограмму для некого конкретного нарушителя, чтобы знать, сколько нарушений он совершил за год. можно ли обойтись одним запросом? то есть нужен ответ в виде таблицы типа
>
> год | число нарушений
> 2008 | 1
> 2007 | 12
> 2006 | 7
> 2005 | 2
>
>
From: Dober - 05/02/2008 - 15:00:36
Subject:вот как сделал
-----------------
гистограмма за последние 1600 минут по 1 минуте
(в табличке tabl заведомо много всего)
SET @start=60+UNIX_TIMESTAMP();
CREATE TEMPORARY TABLE tms (wh INT);
INSERT INTO tms SELECT @start:=@start-60 from tabl limit 1600;
SELECT wh, COUNT(time) AS c FROM tms LEFT JOIN (SELECT time from tabl WHERE time>(UNIX_TIMESTAMP()-1601*60) AND uid=ПОДОЗРЕВАЕМЫЙ) AS k1 ON ROUND(tms.wh/60)=ROUND(k1.time/60) GROUP BY wh ORDER BY wh DESC;
только медленно больно - нарушений десятки сотни миллионов. вроде и отдельные индексы по времени и uid добавил. мож что подкрутить можно ещё?
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
32967
|
|