Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха информатор 3.1
Еще более удобное оповещение о флуде!

Краснодарское время: 22 Май, 2012, 05:35:16

  Просмотр сообщений
Страниц: [1] 2 3 ... 9
1  PHP программирование / Базы данных / count по временным интервалам : 05 Февраль, 2011, 04:16:31
группировка по идее чтобы он мне выдал пары{time_id, count} - на каждый промежуток свое число. Счетчик никак, данные приходят извне.
2  PHP программирование / Базы данных / count по временным интервалам : 05 Февраль, 2011, 02:42:36
time_id int естественно
3  PHP программирование / Базы данных / count по временным интервалам : 05 Февраль, 2011, 02:31:44
Цитата: "Argnist" от 05 Февраль, 2011, 11:02:35 Есть таблица VISIT:login varcharbegin intend intИ таблица TIMES:time_idstamp_b intstamp_e intА это чем плохо?) На всех полях стоят индексы.
4  PHP программирование / Базы данных / count по временным интервалам : 05 Февраль, 2011, 02:01:09
time_idплан?)explain запросаid    select_type    table    type    possible_keys    key    key_len    ref    rows    Extra1    SIMPLE    times    ALL    stamp_b,stamp_e    NULL    NULL    NULL    23040    Using temporary; Using filesort1    SIMPLE    visit    ALL    begin,end    NULL    NULL    NULL    226092    Range checked for each record (index map: 0x6)
5  PHP программирование / Базы данных / count по временным интервалам : 05 Февраль, 2011, 11:02:35
Есть таблица VISIT:login varcharbegin intend intИ таблица TIMES:time_idstamp_b intstamp_e intНужно выбрать количество полей из таблицы VISIT, которые удовлетворяют условию:visit.begin < times.stamp_e and visit.end > times.stamp_bТо есть для каждого промежутка из TIMES найти количество попадающих в этот промежуток посещений из VISITЗапрос[sql]select `times`.`time_id` as `time`, count (`visit`.`login`) as `count` from `visit`, `times` where `visit`.`begin` < `times`.`stamp_e` and `visit`.`end` > `times`.`stamp_b`group by `times`.time[/sql]вешает сервер со всякими bad gatewayКак сделать правильно?
6  PHP программирование / Базы данных / разбиение данных по временным промежуткам : 09 Июль, 2010, 02:34:50
Цитата: "artoodetoo" от 09 Июль, 2010, 01:58:26 вот чтобы небыло тыщ, делай group by. а чтобы мозг твой не расплавился что именно группировать - группируй по одному полю времени (+ опционально по полю id)схематично - я использую тип INT для времени - для простоты:Код PHP$sql = "SELECT round(({$now}-v.visited)/{$interval}) AS ago, count(*) AS cntFROM `visits` AS vGROUP BY ago";мне таки кажется, что цель посчитать количество заходов за интервал, а не количество заходов по пользователям, поэтому здесь группировка только по усеченному временипривязка к visited плохо( получается не все интервалы выводит, а надо бы чтоб ноль выводил
7  PHP программирование / Базы данных / разбиение данных по временным промежуткам : 09 Июль, 2010, 02:25:14
Givi, как это сделать в PHP я не спрашивал, я спрашивал про MySql) согласись размер кода огромныйartoodetoo, пасиб, уже что-то ближе, сейчас подумаю
8  PHP программирование / Базы данных / разбиение данных по временным промежуткам : 09 Июль, 2010, 01:34:26
не за последние! а за $total = неделя, месяц год? и тд)) в этом и проблема, все работает, но тыщи отдельных запросов как-то не оч
9  PHP программирование / Базы данных / разбиение данных по временным промежуткам : 09 Июль, 2010, 01:27:33
1) да не важно 1 дата или нет, главное чтоб попадала в сгенерированные промежутки cur_b - cur_e, остальное я допилю как надо2) login в таблице не уникальный, Group by по логину не проходит, только с Distinct, тут не надо трогать) {+++204+++} Group by по логину вернет кол-во записей для каждого уникального логина для каждого промежутка времени, а мне надо кол-во уникальных логинов для каждого промежутка времени {+++23+++} поэтому Distinct =)
10  PHP программирование / Базы данных / разбиение данных по временным промежуткам : 09 Июль, 2010, 01:08:38
короче вот такое надо переделать в 1 запрос :)Код PHP...$yesterday = mktime($hour, 0, 0, $month, $day, $year) - 86400;$interval = 900; // 15 минутfor ($i = 0; $i <= $total; $i += $interval){    $cur_e = date("Y-m-d H:i:s", $yesterday - $i);    $cur_b = date("Y-m-d H:i:s", $yesterday - $i - $interval);    $res = mysql_query("SELECT COUNT(DISTINCT login) AS count FROM visits        WHERE visit_begin <= '$cur_e' AND visit_end >= '$cur_b' ");...}
11  PHP программирование / Базы данных / разбиение данных по временным промежуткам : 09 Июль, 2010, 12:55:56
чет явно не то, не совпадает с кучей отдельных селектов)
12  PHP программирование / Базы данных / разбиение данных по временным промежуткам : 09 Июль, 2010, 12:17:19
не обязательно по часам, может быть и 15минутный промежуток) самое главное не знаю как сгенерировать это разбиение
13  PHP программирование / Базы данных / разбиение данных по временным промежуткам : 09 Июль, 2010, 11:36:59
Есть табличка:id int time datetime...уникальные пара (id, time)Можно ли одним SQL запросом подсчитать кол-во id для нескольких промежутков времени? Например, за последнюю неделю кол-во уникальных id для каждого часа?Выход:count(id)Y-m-d H1-H2342010-07-09 10-11462010-07-09 09-10112010-07-09 08-09и т.д. 
14  Языки программирования / JavaScript / select в IE : 12 Август, 2009, 04:15:34
спасибо, получилось :-)
15  Языки программирования / JavaScript / select в IE : 12 Август, 2009, 03:55:28
вот, что я имел ввиду ^__^
Страниц: [1] 2 3 ... 9