Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вычисление разницы между значениями идущими подряд
|
|||
|---|---|---|---|
|
#18+
Добрый день! Прошу помощи с решением задачи. Есть таблица вида: EventDoorDateTimeСрабатывание датчика11-22019-10-31 08:40:18:453Срабатывание датчика12-12019-10-31 08:41:12:451Срабатывание датчика12-12019-10-31 08:43:54:211Снят с охраны12-12019-10-31 09:15:17:111Срабатывание датчика13-12019-10-31 09:21:22:222Снят с охраны13-12019-10-31 09:22:34:531Срабатывание датчика14-52019-10-31 09:22:54:213Срабатывание датчика14-52019-10-31 09:23:37:513Снят с охраны14-52019-10-31 09:23:39:444Снят с охраны14-62019-10-31 09:25:18:351Срабатывание датчика14-72019-10-31 09:25:31:415Снят с охраны14-82019-10-31 09:26:34:512 Необходимо: Брать событие "Снят с охраны", которое следует за предыдущим перед ним событием "Срабатывание датчика" (т.е., может быть подряд несколько событий "срабатывание датчика", но необходимо брать последнее идущее по времени перед значением "Снят с охраны") Далее необходимо сравнивать время этих двух событий (из колонки "DateTime") и вывести разницу. Для лучшего понимания, в таблице выделил цветом те события, между которыми необходимо вычислять разницу. Читал про функции "LAG" и "LEAD", но так и не сообразил, как их здесь можно применить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2019, 10:51 |
|
||
|
Вычисление разницы между значениями идущими подряд
|
|||
|---|---|---|---|
|
#18+
Ну типа Код: sql 1. 2. 3. 4. 5. 6. 7. 8. А дальше уже посчитаешь, что надо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2019, 11:21 |
|
||
|
Вычисление разницы между значениями идущими подряд
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. DoorDT_AlarmDT_EventCloseDelta_ms11-22019-10-31 08:40:18.4530000NULLNULL12-12019-10-31 08:41:12.4510000NULLNULL12-12019-10-31 08:43:54.21100002019-10-31 09:15:17.1110000188290012-12019-10-31 09:15:17.1110000NULLNULL13-12019-10-31 09:21:22.22200002019-10-31 09:22:34.53100007230913-12019-10-31 09:22:34.5310000NULLNULL14-52019-10-31 09:22:54.2130000NULLNULL14-52019-10-31 09:23:37.51300002019-10-31 09:23:39.4440000193114-52019-10-31 09:23:39.4440000NULLNULL14-62019-10-31 09:25:18.3510000NULLNULL14-72019-10-31 09:25:31.4150000NULLNULL14-82019-10-31 09:26:34.5120000NULLNULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2019, 11:23 |
|
||
|
Вычисление разницы между значениями идущими подряд
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2019, 11:39 |
|
||
|
Вычисление разницы между значениями идущими подряд
|
|||
|---|---|---|---|
|
#18+
court, хотел сказать, что cte лишнее. Потому что оконные функции вполне себе допустимы в списке SELECT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2019, 11:42 |
|
||
|
Вычисление разницы между значениями идущими подряд
|
|||
|---|---|---|---|
|
#18+
Всем огромное спасибо! :) P.s. Скрипт iap кстати отрабатывает быстрее всех. (Может я правда накосячил где-то, когда добавил DATEDIFF в скрипте Akina) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2019, 14:07 |
|
||
|
Вычисление разницы между значениями идущими подряд
|
|||
|---|---|---|---|
|
#18+
iap хотел сказать, что cte лишнее. Потому что оконные функции вполне себе допустимы в списке SELECT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2019, 14:25 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39887940&tid=1686974]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
138ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 496ms |

| 0 / 0 |
