Да, поэтому я заполняю документ с требованиями для нового клиентского проекта, и они спрашивают о тенденциях роста и ожидаемых результатах, рассчитанных на основе существующих данных в нашей базе данных.
Лучшим источником данных для чего-то подобного является наша таблица журналов, поскольку мы в значительной степени регистрируем каждую отдельную транзакцию, которая происходит в нашем приложении.
Теперь, вот в чем проблема, у меня нет большого опыта работы с MySql, когда дело доходит до сопоставления совокупной суммы и скользящих средних. Я собрал следующий запрос, который имеет смысл для меня, но он просто блокирует командную консоль. Выполнение этой задачи занимает вечность, и в тестовом образце есть только 80 тыс. Записей.
Итак, учитывая следующую базовую структуру таблицы:
id | action | date_created
1 | 'merp' | 2007-06-20 17:17:00
2 | 'foo' | 2007-06-21 09:54:48
3 | 'bar' | 2007-06-21 12:47:30
... thousands of records ...
3545 | 'stab' | 2007-07-05 11:28:36
Как мне рассчитать среднее количество записей, созданных для каждого дня недели?
day_of_week | average_records_created
1 | 234
2 | 23
3 | 5
4 | 67
5 | 234
6 | 12
7 | 36
У меня следующий запрос, который заставляет меня хотеть убить себя, убить себя, бросив свое тело вниз по шахте лифта ... и на несколько пуль:
SELECT
DISTINCT(DAYOFWEEK(DATE(t1.datetime_entry))) AS t1.day_of_week,
AVG((SELECT COUNT(*) FROM VMS_LOGS t2 WHERE DAYOFWEEK(DATE(t2.date_time_entry)) = t1.day_of_week)) AS average_records_created
FROM VMS_LOGS t1
GROUP BY t1.day_of_week;
Halps? Пожалуйста, не заставляй меня снова порезаться. : '(