Количество Количество часов между диапазонами SQL - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь подсчитать количество рабочих часов у некоторых пользователей за месяц, единственный способ сделать это - увидеть дату и время записи произведений, которые они сделали.поэтому я получил:

Select  a.EmployeeID, cast(a.fDate as Date) fDate, datepart(HOUR, a.fDate) fHour
From Table 
Group by a.EmployeeID, cast(a.fDate as Date), datepart(HOUR, a.fDate)

Это дает мне детализацию по дате производства часов, однако я хотел бы узнать общее количество часов за этот период времени.Например:

Current Results

Я знаю, что сотрудник xxx 09/01/2018 зарегистрировал производство в 10:00, 11:00, 12:00 и 13:00, поэтому результат будетбыть 4 часа.У каждого сотрудника разные рабочие дни, так что я думаю, что это единственный способ рассчитать это ...

Помощь?

1 Ответ

0 голосов
/ 20 сентября 2018

Можно ли использовать DATEDIFF минимального и максимального значений fDate, группировать по EmployeeId и дате a.fDate?

Например:

Select  a.EmployeeID, cast(a.fDate as Date) as fDate, min(a.fDate) as TimeIn, max(a.fDate) as TimeOut, (DATEDIFF(mi, min(a.fDate), max(a.fDate)) / 60) as Hours
From MyTable a
Group by a.EmployeeID, cast(a.fDate as Date)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...