Я хочу вычислить сумму минут между двумя датами из таблицы без наложения (объяснение ниже после данных таблицы) **
**Id** **timeStart** **timeEnd** **ReaderId**
3 2019-04-11 21:50:00.00 2019-04-11 22:00:00.00 24
4 2019-04-11 22:30:00.00 2019-04-11 22:35:00.00 24
5 2019-04-11 22:31:00.00 2019-04-11 22:33:00.00 22
6 2019-04-11 21:40:00.00 2019-04-11 21:55:00.00 22
** Как видно из приведенных выше данных, у нас есть двачитатели и я хочу получить сумму минут от всех записей.например, 3 и 6 строк, в 6-м идентификаторе время начинается с 21:40 и заканчивается в 21:55, а в 3-м идентификаторе - с 21:50 до 22:00. Таким образом, он должен считаться только с 21:40 до 22:00, поэтому вывод должен быть 20 минут.Не следует считать их вдвое (21: 40-21: 55) = 15 + (21: 50-22: 00) = 10 = 25. Нужно сосчитать пересекающиеся минуты один раз
Я неконечно, как я могу это сделать.Ниже я знаю, как получить время между двумя датами, но не уверен, как мне преодолеть точку перекрытия.
(datediff(minute, @dt_start, @dt_end))
ОБНОВЛЕНИЕ:
из приведенных выше данных в таблице: 25Минутой должен быть вывод, как описано ниже: Исходные данные
21:50 - 22:00
22:30 - 22:35
22:31 - 22:33
21:40 - 21:55
перестановка для более легкого понимания:
21:40 - 21:55
21:50 - 22:00
22:30 - 22:35
22:31 - 22:33
В первых двух строках время равноначиная с 21:40, а максимальное время окончания - 22:00, поэтому результат будет 20 + 5 (из последних двух строк) = 25 минут.