Группировка и сортировка сразу нескольких столбцов

У меня есть таблица с данными по тв-приставке от оператора связи, из которых нужно составить отчет, где id-id пакета, mac-макадрес приставки, dttm-время в unix формате, event-событие(в данном отрывке channel-switch-переключение канала) и details-номер канала, на который собственно и произошло переключение).

Мне нужно выбрать одинаковые строчки mac, внутри которых отсортировать по dttm, чтобы просмотр длился не менее 5 минут и не более 120 минут (только этот промежуток времени считается за просмотр канала). Время отсчета этих минут идут только по строчкам последовательно внутри одного мак-адреса (т.е. человек при переключении на канал не остался на нем на нужное время, значит он не идет в счет). Потом данные о том, сколько человек смотрело определенный канал необходимо вывести при запросе администратора, причем запрашивает он определенный промежуток времени.

А теперь вопрос - возможно ли хоть что-то из этого сделать в sql или здесь уже понадобится php, и, если да, то подскажите хоть какой то вероятный план действий - куда мне стоит двигаться, чтобы решить этот вопрос? Изначальная таблица с данными представлена ниже и спасибо за внимание.

INSERT INTO `ttv_stats` (`id`, `mac`, `from`, `dttm`, `event`, `details`) VALUES
(8315410, 'E4:AB:46:00:22:C0', 0, 1353355207, 'channel_switch', 'id=202'),
(8315411, 'E4:AB:46:00:22:C0', 0, 1353355210, 'channel_switch', 'id=200000'),
(8315416, 'E4:AB:46:00:33:F2', 0, 1353355207, 'channel_switch', 'id=214'),
(8315417, 'E4:AB:46:00:33:F2', 0, 1353355216, 'channel_switch', 'id=324'),
(8315418, 'E4:AB:46:00:33:F2', 0, 1353355249, 'channel_switch', 'id=325'),
(8315419, 'E4:AB:46:00:33:F2', 0, 1353355557, 'channel_switch', 'id=1009'),
...

Ответы (0 шт):