powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Задача о рабочем времени сотрудников
2 сообщений из 2, страница 1 из 1
Задача о рабочем времени сотрудников
    #39966549
Ro_Man83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую.
Пытаюсь решить задачу подсчета количества часов, отработанных сотрудниками в течении заданного периода времени.
В качестве исходных данных имеем таблицу с полями "sessionkey", "username", "startdate", "enddate". Все просто, но есть одно НО. Сотрудники могут как работать в одной сессии, так и запускать несколько сессий в разные моменты времени, и в разные моменты времени их завершать. Таким образом, для каждого сотрудника в таблице будет несколько записей с разными sessionkey и, соответственно, разными startdate и enddate.
Если я делаю запрос типа:
select username, sum(datediff(second,startdate,enddate)) from employee
where (startdate between '2020-05-20 23:59:59' and '2020-05-21 23:59:59')
group by username
то получаю просто суммарную продолжительность всех сессий, в которых работал сотрудник в течении рабочего дня. Т.е., например, если сотрудник одновременно запустил три сессии и работал 5 часов, а потом эти сессии одновременно закрыл, то мы получим таким подсчетом 15 часов рабочего времени, что неверно.
Соответственно, вопрос - как правильно посчитать все временнЫе интервалы с учетом их пересечений, чтобы в итоге вычислить сколько времени сотрудник работал в течении дня.
Задача наверняка не очень сложная, но опыта в T-SQL совсем мало, поэтому прошу помощи.
...
Рейтинг: 0 / 0
Задача о рабочем времени сотрудников
    #39966552
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Задача о рабочем времени сотрудников
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]