Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите пожалуйста с запросом.. Нужно правильно просуммировать.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Подскажите пожалуйста, как написать запрос: Есть таблица TimeRows , в которой хранятся идентификаторы пользователей и временные интервалы с их длительностью в минутах. Нужно посчитать сумму дэльт по каждой подгруппе, но если в подгруппе есть пересекающиеся диапазоны, то их рассматривать как один диапазон с минимальным (среди пересекающихся) StartTime и максимальным (EndTime) и суммировать уже разницу уже нового диапазона. К примеру есть таблица: UserIDStartTimeEndTimeDelta1472018-12-01 18:002018-12-01 22:002401472018-12-01 18:302018-12-01 22:302401472018-12-01 17:002018-12-01 21:302701472018-12-01 22:402018-12-01 23:00201472018-12-01 23:102018-12-01 23:30202082018-12-02 20:002018-12-02 21:00602082018-12-02 21:302018-12-02 23:0090 первые три записи суммировать нельзя т.к. диапазоны их пересекаются. Нужно посчитать дельту StartTime = 2018-12-01 17:00 - EndTime = 2018-12-01 22:30 дельта будет равна 330 мин. (а не 750) С остальными записями всё ок, их диапазоны не пересекаются. В итоге таблица должна получиться такой: UserIDSumDelta14733014740208150 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2018, 08:35 |
|
||
|
Помогите пожалуйста с запросом.. Нужно правильно просуммировать.
|
|||
|---|---|---|---|
|
#18+
(ошибся)upd: Конечно же EndTime - StartTime ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2018, 08:38 |
|
||
|
Помогите пожалуйста с запросом.. Нужно правильно просуммировать.
|
|||
|---|---|---|---|
|
#18+
Если диапазон 1 пересекается с диапазоном 2, тот ещё пересекается с диапазоном 3, но диапазоны 1 и 3 не пересекаются - как считать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2018, 09:44 |
|
||
|
Помогите пожалуйста с запросом.. Нужно правильно просуммировать.
|
|||
|---|---|---|---|
|
#18+
Если у пересекающихся диапазонов разная дельта - какую брать после их объединения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2018, 09:44 |
|
||
|
Помогите пожалуйста с запросом.. Нужно правильно просуммировать.
|
|||
|---|---|---|---|
|
#18+
Akina, Если у пересекающихся диапазонов разная дельта, то брать не готовую дельту, а считать её из максимального EndTime и минимального StartTime ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2018, 09:52 |
|
||
|
Помогите пожалуйста с запросом.. Нужно правильно просуммировать.
|
|||
|---|---|---|---|
|
#18+
Если диапазон 1 пересекается с диапазоном 2, тот ещё пересекается с диапазоном 3, но диапазоны 1 и 3 не пересекаются - как считать? 3-------------20 5--------------26 21--------------30 то дельту считать как 30-3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2018, 09:55 |
|
||
|
Помогите пожалуйста с запросом.. Нужно правильно просуммировать.
|
|||
|---|---|---|---|
|
#18+
MAULER Если диапазон 1 пересекается с диапазоном 2, тот ещё пересекается с диапазоном 3, но диапазоны 1 и 3 не пересекаются - как считать? 3-------------20 5--------------26 21--------------30 то дельту считать как 30-3поиском по "кончала" можно найти с полдюжины вариантов решения этой задачи :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2018, 11:00 |
|
||
|
Помогите пожалуйста с запросом.. Нужно правильно просуммировать.
|
|||
|---|---|---|---|
|
#18+
MAULERсчитать её из максимального EndTime и минимального StartTimeА если они - у разных записей с разной дельтой? MAULERто дельту считать как 30-3Ищите темы по словам "объединить диапазоны". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2018, 11:02 |
|
||
|
|

start [/forum/topic.php?fid=46&tid=1688604]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 282ms |
| total: | 425ms |

| 0 / 0 |
