У меня есть следующая таблица в базе данных SQL Server 2016:
Time Identifier Category
1. 2821-01-04 17:41.0 1002 A1001
2. 2821-01-05 17:41.0 1002 A1001
3. 2821-01-06 17:42.0 1001 A1001
4. 2821-01-07 17:44.0 1002 A1001
5. 2821-01-08 17:44.0 1002 A1001
6. 2821-01-09 17:44.0 1002 A1001
7. 2821-01-10 17:44.0 1002 A1001
8. 2821-01-11 17:44.0 1002 A1001
9. 2821-01-12 17:44.0 1002 A1001
10. 2821-01-13 17:44.0 1002 A1001
11. 2821-01-14 17:45.0 1001 A1001
12. 2821-01-15 17:46.0 1002 A1001
13. 2821-01-16 17:46.0 1002 A1001
14. 2821-01-17 17:46.0 1002 A1001
15. 2821-01-18 17:46.0 1002 A1001
16. 2821-01-19 17:46.0 1002 A1001
17. 2821-01-20 17:46.0 1002 B1001
18. 2821-01-21 17:46.0 1002 B1001
19. 2821-01-22 17:46.0 1002 B1001
20. 2821-01-23 17:46.0 1001 B1001
21. 2821-01-24 17:48.0 1002 B1001
22. 2821-01-25 17:48.0 1002 B1001
23. 2821-01-26 17:48.0 1002 B1001
24. 2821-01-27 17:48.0 1002 B1001
25. 2821-01-28 17:48.0 1001 B1001
26. 2821-01-29 17:52.0 1002 B1001
27. 2821-01-30 17:52.0 1002 B1001
28. 2821-01-31 17:52.0 1002 B1001
29. 2821-02-01 17:52.0 1002 B1001
Мне нужен SQL-запрос, который получает разницу во времени между любыми 2 последовательными строками, сначала[Идентификатор] = 1001, а второе - [Идентификатор] = 1002 для каждой [Категории] (т. Е. Расчет должен выполняться только для одной и той же категории).Последовательные пары записей, которые следует рассмотреть: записи [3,4] и [11,12] и [20,21] и [25,26].Первый [идентификатор] равен 1001, а последовательный [идентификатор] равен 1002. Рассмотрим это как пару.Поэтому нам нужно сначала идентифицировать эти пары.Уместны только пары из одной и той же категории.Пары, принадлежащие к разным категориям, следует игнорировать.
Мне нужно знать, сколько раз разница между этими парами составляет 1 с, 2 с, 2 с .... до 5 секунд.
Желаемый выход:
Num of seconds Category Count
1 A1001 1
2 A1001 1
3 A1001 0
4 A1001 0
5 A1001 0
1 B1001 0
2 B1001 1
3 B1001 0
4 B1001 1
5 B1001 0