SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 20.07.2018 11:55:36

iReborn
Участник
Зарегистрирован: 20.07.2018
Сообщений: 1

Помогите решить задачу со статистикой данных

Добрый день, у меня есть таблица 'exam_node_statistics', которая не отражает статистики start_time и end_time , как в таблице 'statistics_sessions' но покрывает всю статистику, и моя задача состоит в создании новой таблицы где отображались бы все данные со статистикой.

https://image.ibb.co/jPD5jJ/exam_node_statistics.png
https://image.ibb.co/jgPd4J/statistics_sessions.png

В statistics_sessions статистика ведется с даты (1517980290)

1)
https://image.ibb.co/ibMKBy/system_user_log.png

я взял и соединил две таблицы и в качестве start_time взял create_time из таблицы system_user_log плюс разницу даты создания и начала ведения отчета в statistics_sesions(1517980290). А для того чтобы распределить таким образом, чтобы юзер при вхождении в node_id запускал счетчик отсчета, я использовал counter.


SELECT
a.log_id, a.log_type, a.user_id, a.project_id, a.log_time as create_time, (1517980290-a.log_time) as diff_time,
b.node_id, b.counter, a.log_time + ROUND((1517980290-a.log_time)/b.counter) AS start_time
from system_user_log as a
LEFT JOIN exam_node_statistic as b  ON a.user_id=b.user_id WHERE log_type="create" and project_id=3;



https://image.ibb.co/m7VJ4J/new_table.png

2) теперь возникает вопрос как убрать те ячейки в таблице которые существуют в statistics_sesiions по user_id или owner_id. Затем разбить строку по 1=<count<=n и присвоить в качестве следующего значения next start_time = prev start_time + const(diff_time) и повторять это n раз. В качестве end_time мне нужно взять среднее время посещаемости по урокам(statistics_sessions) и прибавить к нему start_time.

Конечный вид должен выглядеть примерно так:
https://image.ibb.co/cWsOMy/final_table.png

Отредактированно iReborn (20.07.2018 12:06:52)

Неактивен

 

#2 20.07.2018 12:33:11

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5827

Re: Помогите решить задачу со статистикой данных

сделайте пример в виде create table.. insert into .. с десятком тестовых строк, и какой результат должен быть на этих данных
а то сейчас смысл ускользает

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson