У меня есть журнал вызовов для моего торгового представителя Vidget. Каждый клик в записи клиента регистрируется. Сотрудники могут получать доступ к одной и той же учетной записи клиента несколько раз в день, поэтому в разное время дня могут быть десятки последовательных кликов, сгруппированных под одним и тем же идентификатором записи.Получить длительность последовательных представлений записей
Пример:
recordID userID date_event
33450 321 2013-06-20 16:22:02
33450 321 2013-06-20 16:22:02
33450 321 2013-06-20 16:22:24
33450 321 2013-06-20 16:22:24
22222 321 2013-06-20 16:22:53
22222 321 2013-06-20 16:22:54
12345 321 2013-06-20 16:23:43
12345 321 2013-06-20 16:23:44
12345 321 2013-06-20 16:24:00
12345 321 2013-06-20 16:24:05
12345 321 2013-06-20 16:24:05
12345 321 2013-06-20 18:16:09
12345 321 2013-06-20 18:16:09
33450 321 2013-06-20 18:33:24
33450 321 2013-06-20 18:35:11
33450 321 2013-06-20 18:36:55
12345 321 2013-06-20 19:01:14
98765 321 2013-06-20 19:02:43
В наборе данных выше, я бы 6 групп доступа.
first last duration(seconds)
33450 2013-06-20 16:22:02 2013-06-20 16:22:24 22
22222 2013-06-20 16:22:30 2013-06-20 16:22:54 24
12345 2013-06-20 16:23:43 2013-06-20 18:16:09 6746
33450 2013-06-20 18:33:24 2013-06-20 18:36:55 211
12345 2013-06-20 19:01:14 2013-06-20 19:01:14 0
98765 2013-06-20 19:02:43 2013-06-20 19:02:43 0
Продолжительность должна быть оценкой, а не фактическим временем, когда глаза находятся на записи. Я не могу обнаружить, когда Персонал активно использует это приложение или когда он использует инструмент на стороне клиента, просматривая данные в другом приложении или на веб-сайте.
Структура таблицы:
CREATE TABLE IF NOT EXISTS `record_log` (
`event_id` int(11) NOT NULL AUTO_INCREMENT,
`userID` int(5) DEFAULT NULL,
`recordID` int(10) DEFAULT NULL,
`date_event` datetime DEFAULT NULL,
PRIMARY KEY (`event_id`),
KEY `userID` (`userID`),
KEY `date_event` (`date_event`),
KEY `recordID` (`recordID`),
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Что бы быть лучшим способом структурировать запрос, возвращающий второй набор данных? Можно ли это сделать в одном запросе, не используя слишком много циклов? У меня было бы потенциально тысячи зарегистрированных записей в определенный день.
У вас есть идентификатор auto_increment? как ваши записи группируются вместе? группа изменяется при изменении идентификатора записи? – fthiella
Да - auto_increment является "event_id". Записи будут сгруппированы по идентификатору записи, но уловка в том, что мне нужно больше, чем просто общая продолжительность всей записи для каждого идентификатора записи за данный период времени. Один и тот же идентификатор записи можно получить несколько раз в течение дня. Как правило, будут группы последовательной деятельности. Или, например, в течение дня может быть доступен только идентификатор записи. Я попытался объяснить это и показать это в моих данных выше. –