@arseny_sitdikov

Как написать SQL-запрос для данной ситуации?

Условно имеется две таблицы (MySQL):
1) Таблица D. в каждой строчке id объекта и Расчетная дата.
2) Таблица S. каждая строка это сессия объекта, в ней. id объекта, дата начала сессии, дата конца сессии, переданный трафик, полученный трафик. Длительность каждой сессии 3 часа.

Необходимо сформировать таблицу в которой каждая строка имеет информацию:
id объекта, суммарный трафик переданный и полученный за, допустим, 2 недели до Расчетной даты из таблицы D. Месяц для которого был сделан расчет.

Понял что можно использовать Date_sub в between для определения границ трехчасовых сессий. Но нужно получить суммарную величину по примеру:
Id month Output Input SumTraf
1 jan.20 123664 456436 580100
1 feb.20 45634 346346 391980
1 mar.20 456456 4563456 5019912

Расчетная дата записана в виде unixtime с точностью до секунды.
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 1
@d-stream
Готовые решения - не подаю, но...
Для начала стоит указать диалект SQL, ибо есть отличия.
Ну а если абстрактно - то:
1. агрегируем таблицу 2 по сессия-дата, суммируя трафики - получаем минимально трафик за день
2. полученное сессия-дата-трафики - используем по вкусу

естественно разделение по пунктам - чисто условное, только для понимания

ну и да - предвидятся большие проблемки когда сессия начинается в одни сутки, а заканчивается - в другие)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы