Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
wingblack
271 / 246 / 44
Регистрация: 09.04.2013
Сообщений: 927
1

Подготовить данные статистики для вывода на график

22.03.2014, 00:50. Просмотров 485. Ответов 0
Метки нет (Все метки)

Есть таблица в которую сохраняю информацию о присутствии пользователей
(unix_time, server_id, player_id)
Записи добавляются каждый 5 минут по тем кто в данный момент онлайн.

С помощью вот такого кода собираю данные для построения картинки-графика посещаемости по каждому серверу.
PHP
1
2
3
4
5
6
7
8
$timestep = 60 * 5;
$sdh = $dbh->prepare("
SELECT ROUND((`time`)/(?))*? AS `step`,SUM(1) AS `count`,`server_id` 
FROM `stats` 
WHERE `time` > ?
GROUP BY `step`,`server_id` 
ORDER BY `server_id` ASC, `step` ASC");
$sdh->execute(array($timestep,$timestep,$starttime));
Вопросы следующие:
1) в статистике есть пустые места т.к. из-за отсутствия пользователей записи в некоторое время не добавляются, на php я сделал заполнение пробелов нулями - можно (и как) и нужно ли переложить это на плечи SQL ?
2) если в данном коде расширить интервал (например для создания графика за неделю или месяц), то присутствие одного и того же человека может посчитать два или более раз - следовательно как на заданном интервале каждого пользователя учитывать только один раз?

Добавлено через 26 минут
2.1) Дополнение - я сейчас подумал что при построении графиков за неделю/месяц можно брать интервалы, кратные 5 минутами, но результаты делить на число (интервал/(5 мин)) чтобы увидеть качество посещения.
В таком случае учет одного пользователя по 2-3 раза не является проблемой, но все же боюсь ситуаций когда интервалы между записью в таблицу не постоянные, или например я вручную запущу скрипт добавления записей что обеспечит ложный пик на графике. Чтобы этого избежать нужно перед выполнения (моего) кода на SQL предварительно гарантировать что в базовом интервале (например) 5 минут один и тот же пользователь будет встречаться только один раз.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2014, 00:50
Ответы с готовыми решениями:

Скрипт для статистики
Здравствуйте, при регистрации введу статистику за каждые сутки новых...

Логика построения для статистики
Доброго вечера, товарищи. Нужен совет. Собираюсь для страниц клиентов (коих...

Структура таблиц для статистики сайта
Здравствуйте Сайтом пользуются N человек ( 10<N<500 ) Каждый из них может...

Лог файл в денвере для статистики посещаемости
Всем привет! Решил написать скрипт для статистики посещаемости Web-сервера,...

Подготовить данные для диаграммы
Добрый день! Столкнулся с такой проблемой: нужно как-то подготовить данные для...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.03.2014, 00:50

Подготовить числа для вывода на консоль через ASCII и вывести на консоль
В регистре eax находится число, которое нужно превратить в ASCII-код и вывести...

Собираем данные по пользователям из некой группы в вк для статистики
Ребята, врываюсь на форум. Нужен совет. извиняюсь, так как уверен, что...

Подготовить данные содержащие информацию о странах мира, данные оформить в виде записи
у меня есть пример задачи, нужно ее переделать под мое условие помогите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru