У меня есть таблица, которая ежедневно хранит In_time и Out_Time для каждого сотрудника. Я хочу рассчитать часы работы каждого сотрудника еженедельно или, может быть, в месяц? Как мне это сделать?Как группировать записи по дате в Tsql?
Структура таблицы:
**Empid** : 1 ; 2 ; 3
**Pdate** : 7 aug 15 ; 8 aug 15 ; 9 aug 15
**P_In** : 8:48:21 ; 8:50:10 ; 8:37:00
**P_Out** : 15:07:21 ; 16:45:18 ; 16:47:10
и так далее для полного года. EmpId - VARCHAR бновить, P_In, P-Out - DateTime
Теперь я хочу расчета общего времени работы каждого сотрудников в неделю, в месяц или между заданным диапазоном дат. Пожалуйста, помогите, как подать заявку «группа по» в таком сценарии.
Что я сделал: Существует отдельная колонка, в которой хранится разница между Pin и Pout; говорят, что это называется Workhrs. Так, Workhrs = Pout - Pin
ВЫБОР emp_name, emp_id, minutes_worked = СУММ (DATEDIFF (МИНУТНЫЙ, '0:00:00', WorkHRs)) из dailydata группы по Emp_Name, emp_id
The выше запрос даст мне данные об общей длительности работы каждого сотрудника. Однако я хочу работать в неделю и в месяц. Как мне это сделать?
где запрос вы пробовали. Покажите несколько действий –
Не храните дату и время в двух разных столбцах, вместо этого используйте один столбец времени. Будет намного проще. – jarlh
Почему сотрудники уходят до их прибытия? – jarlh