|
|
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 08:34:16 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
поробуй cчитать клики по условиям с помощью Case: CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 16:45:50 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
Dmitry_Chпоробуй cчитать клики по условиям с помощью Case: CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END Непонял ... IF Чего?? ELSE Чего?? Я же не просто так для каждого клика отдельную запись создаю. Если ты заметил присутствуют поля host и user_agnt так-же дата и время клика. Вдруг захочется по часам статистику :) Тут вроде ничего сложного, наверно три - четыре вложенных запроса и join, но как-то не соображу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 16:58:59 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
если дата=сегодня, то суммируешь счетчик_сегодня, счетчик_занеделю и т.д. если дата=вчера, то суммируешь счетчик_вчера, счетчик_занеделю и т.д. Subqueries - только с 4.1 версии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 17:24:27 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
Dmitry_Chесли дата=сегодня, то суммируешь счетчик_сегодня, счетчик_занеделю и т.д. если дата=вчера, то суммируешь счетчик_вчера, счетчик_занеделю и т.д. Subqueries - только с 4.1 версии Ага?! и так за год! :) . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 17:27:23 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
Nuker Dmitry_Chесли дата=сегодня, то суммируешь счетчик_сегодня, счетчик_занеделю и т.д. если дата=вчера, то суммируешь счетчик_вчера, счетчик_занеделю и т.д. Subqueries - только с 4.1 версии Ага?! и так за год! :) . ага. всё должно получиться в одном запросе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 17:41:23 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
Dmitry_Ch ага. всё должно получиться в одном запросе. А как быть с useragent's ? Мне необходимо хранить каждый клик отдельной записью. Я спрашиваю как из имеющейся структуры вывести подробную статистику. Надо что-то типа этого, но уже с датами Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 18:01:06 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
Nuker Dmitry_Ch ага. всё должно получиться в одном запросе. А как быть с useragent's ? Мне необходимо хранить каждый клик отдельной записью. Я спрашиваю как из имеющейся структуры вывести подробную статистику. Надо что-то типа этого, но уже с датами Код: plaintext 1. 2. 3. 4. ну, правильно. из главной таблицы выбираешь ссылки, а из подчинненной подробную статистику по ссылкам и объединяешь с помощью джоинов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 18:09:23 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
Dmitry_Ch Nuker Надо что-то типа этого, но уже с датами Код: plaintext 1. 2. 3. 4. ну, правильно. из главной таблицы выбираешь ссылки, а из подчинненной подробную статистику по ссылкам и объединяешь с помощью джоинов. Вот для общего количества Код: plaintext 1. 2. 3. 4. 5. 6. Что дальше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 18:38:31 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
Nuker Dmitry_Ch Nuker Надо что-то типа этого, но уже с датами Код: plaintext 1. 2. 3. 4. ну, правильно. из главной таблицы выбираешь ссылки, а из подчинненной подробную статистику по ссылкам и объединяешь с помощью джоинов. Вот для общего количества Код: plaintext 1. 2. 3. 4. 5. 6. Что дальше? если бы mysql исп. храним. процедуры, то не было бы проблем вообще. А так покрути конструкцию типа SELECT SUM(CASE ... WHEN ... THEN .. ELSE .. END) As F1 Ссори, времени на больше нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 19:01:28 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
конкретно: таблицы, учавствующие в группировке и немного данных в студию, и, обязательно формат timestamp-a ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2005, 14:10:24 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2005, 03:44:16 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
wolkконкретно: таблицы, учавствующие в группировке и немного данных в студию, и, обязательно формат timestamp-a Вложил в сообщение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 09:22:42 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
maXmo Код: plaintext 1. 2. 3. Нет ничего не выдаст. см аттач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 09:30:20 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
Nukerнеобходимо одним запросом вывести такой результат: id | title | url | сегодня | вчера | за неделю | за месяц | за год | всего еще бы за период (что лучше наверно). не получится, т.к. у тебя данные в таблице лежат: id title url updated total 1 xlink http://orbita.perm.ru/files/xlink.zip 20050603212522 1176 указывается дата последнего обновления и общее кол-во загрузок. каким образом ты хотел выводить статистику по url за определенные периоды?? для этого нужно ложить каждый запрос отдельно в таблицу, а при извлечении их суммировать по url, например create table download_counter (id int unsigned not null auto_increment primary key, url tynitext not null, click_date timestamp(14) not null, user_agent tynitext) id нужен только в том случае, если будешь удалять или редактировать данные. вот из такой таблицы можно легко вытягивать то, что тебе нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 09:43:35 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
wolk а что, таблицы dl_counter там нету? Которая вторая. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 14:01:19 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
maXmowolk а что, таблицы dl_counter там нету? Которая вторая. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm есть: id parent_id click_date host user_agent 1 1 0000-00-00 00:00:00 unknown unknown 2 1 0000-00-00 00:00:00 unknown unknown 3 1 0000-00-00 00:00:00 unknown unknown и что ты по ней можешь узнать?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 14:28:21 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
в ней и предполагается хранить каждый клик, parent_id - внешний ключ. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 15:35:12 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
maXmoв ней и предполагается хранить каждый клик, parent_id - внешний ключ. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm тогда зачем вторая таблица и дублирование данных, таких как время последнего скачивания и кол-во загрузок, и по каким критериям эти таблицы группируются и для чего?? это все прекрасно вытягивается из одной таблицы и подсчитывается средствами mysql. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 16:11:32 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
получается, что клик плюсуется сначала в одну таблицу, затем id строки к которой он прибавился по url вносится во вторую таблицу с временем=времени последнего скачивания, строкой браузера и всему этому назначается опять же свой id, зачем так громоздко?? есть таблица: id url time agent host нужно общее количество скачиваний?? select count(id) from count where url=url дата последнего скачивания?? select max(time) from count where url=url нужна статистика по скачиваниям?? без проблем все решается вложенным запросом, с учетом вида поля time (не привожу, т.к. запрос нужно формировать конкретный запрос и проверять работоспособность для конкретных целей, да и синтаксис вложенных запросов на вскидку не помню) --------- С уважением! wolk.nutep.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 16:28:36 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
select count(id) from count where url=url такие запросы на мускле выполняются весьма медленно. Нормализация нарушается для быстроты. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 16:35:28 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
>такие запросы на мускле выполняются весьма медленно. В сраснении с чем?? --------- С уважением! wolk.nutep.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 16:52:32 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
а то, что тоже самое только по периодам с объединением 2-х таблиц считать нужно - не смущает?? --------- С уважением! wolk.nutep.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 16:54:17 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
wolk>такие запросы на мускле выполняются весьма медленно. В сраснении с чем??да, мой баг... В сравнении с ентерпрайз-левел субд. Ну мля... сделано, значит надо. а то, что тоже самое только по периодам с объединением 2-х таблиц считать нужно - не смущает?? так то статистика. Она, как упоминалось, может и почасовой быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 17:50:02 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
лови! select id, title, url, sum(case when date>'2004-01-01' then 1 else 0 end) AS Period1, sum(case when date>'2003-01-01' then 1 else 0 end) AS Period2 from dl_counter, dl_files where parent_id in (select id from dl_files) group by parent_id не называй поля ключевыми словами date, int, count и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 18:25:46 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
Еще раз объясняю: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 18:45:55 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
))) а сразу нельзя так написать было?? если не ответят завтра с работы отпишу. --------- С уважением! wolk.nutep.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 18:56:49 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
NukerЕще раз объясняю: посмотри предыдущий мессадж. Там запрос даже больше выдает информации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2005, 10:31:18 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
нет! запрос получается кривой и невъ...нно большим, делай небольшие запросы и доставай все что нужно. да и вообще что-то немного тяжко, может попозже додумаюсь. --------- С уважением! wolk.nutep.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2005, 12:08:35 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
Dmitry_Ch NukerЕще раз объясняю: посмотри предыдущий мессадж. Там запрос даже больше выдает информации. как можно задать формат даты, что-то типа такого dateformat(click_date,'%Y-%m-%d')=curdate(), но чтоб работало? иначе запрос будет тоже очень большим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2005, 12:33:27 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
А может с такой структурой будет проще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2005, 07:33:09 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
wolk да и вообще что-то немного тяжко, может попозже додумаюсь. Вот и мне тяжко :) иначе-бы додумался. :) А может просто мозги отрофировались, когда сам на задачу смотрю, создается впечатление - "школьный курс", а сядешь за клаву - ничего не пишется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2005, 07:40:45 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
Dmitry_Chлови! select id, title, url, sum(case when date>'2004-01-01' then 1 else 0 end) AS Period1, sum(case when date>'2003-01-01' then 1 else 0 end) AS Period2 from dl_counter, dl_files where parent_id in (select id from dl_files) group by parent_id не называй поля ключевыми словами date, int, count и т.д. вот человек хорошую вещь написал, отсюда и пляши ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2005, 16:28:06 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
wolk Dmitry_Chлови! select id, title, url, sum(case when date>'2004-01-01' then 1 else 0 end) AS Period1, sum(case when date>'2003-01-01' then 1 else 0 end) AS Period2 from dl_counter, dl_files where parent_id in (select id from dl_files) group by parent_id не называй поля ключевыми словами date, int, count и т.д. вот человек хорошую вещь написал, отсюда и пляши что-то ничего не вышло :( Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 12:40:08 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
а у тебя за указанные периоды есть записи в БД?? и дату форматировать нужно в соответствии с твоей базой --------- С уважением! wolk.nutep.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2005, 12:39:05 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
wolkа у тебя за указанные периоды есть записи в БД?? и дату форматировать нужно в соответствии с твоей базой Дак все равно неправильно работает, причем дело не в дате совсем. Это неверное решение задачи, один join надо использовать полюбому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2005, 21:20:30 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2005, 21:24:24 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
wolkЯ у себя проверял запрос - прекрасно работал Ага, с одной записью в [download_files] наверно прекрасно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2005, 23:35:00 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
Nuker wolkЯ у себя проверял запрос - прекрасно работал Ага, с одной записью в [download_files] наверно прекрасно. CREATE TABLE `count` ( `id` int(10) unsigned NOT NULL auto_increment, `parent_id` int(10) unsigned NOT NULL default '0', `click_date` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT INTO `count` VALUES (1,1,'2004-12-01 12:00:30'),(2,1,'2005-12-01 12:00:30'),(3,2,'2005-01-01 12:00:30'),(4,2,'2005-01-02 12:00:30'),(5,2,'2005-01-02 13:00:30'),(6,2,'2005-01-03 13:00:30'),(7,3,'2005-01-03 13:00:30'),(8,3,'2005-01-03 13:00:30'),(9,3,'2005-01-03 14:00:30'),(10,3,'2004-01-03 14:00:30'),(11,1,'2005-06-07 11:03:08'),(12,1,'2005-06-07 11:03:10'); CREATE TABLE `url` ( `id` int(10) unsigned NOT NULL auto_increment, `url` tinytext NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT INTO `url` VALUES (1,'wolk.nutep.com'),(2,'nutep.com'),(3,'mail.ru'); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 12:31:48 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
maXmoselect count(id) from count where url=url такие запросы на мускле выполняются весьма медленно. Нормализация нарушается для быстроты. И всё же, почему медленно-то, особенно по индексу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 23:02:33 |
|
||
|
счетчик загрузок с ведением подробной статистики
|
|||
|---|---|---|---|
|
#18+
Решение простое как все гениальное: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. click_stamp: TimeStamp Тут уже остается правильно сформировать дату для запроса. Если что-то неверно просьба отписать nuker@perm.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 22:05:43 |
|
||
|
|

start [/forum/topic.php?all=1&fid=47&tid=1853721]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 208ms |
| total: | 475ms |

| 0 / 0 |
