У меня есть следующая таблица:
Emp_Id In_Time Out_time
10 '2014-07-16 08:25:00' '2014-07-16 10:25:00'
10 '2014-07-16 10:35:00' '2014-07-16 14:42:00'
10 '2014-07-16 15:00:00' '2014-07-16 16:03:00'
10 '2014-07-16 16:15:00' '2014-07-16 16:24:00'
В этой таблице офис (вход и выход), обеденные перерывы (вход и выход), кофе-брейки и т. Д. Записаны в одних и тех же столбцах.
Моя цель найти минимальное значение (In_time) и максимальное значение (Out_time), чтобы записать общее время в офисе.
Окончательный результат должен быть таким:
Emp_Id In_Time Out_Time
10 '2014-07-16 08:25:00' '2014-07-16 16:24:00'
Я работаю над этим кодом:
select Emp_Id, min(In_Time) over(partition by Emp_Id) as start,
max(Out_Time) over(partition by Emp_Id) as stop,
from tablename
where day(In_Time) = day (Out_time)
group by (Emp_Id, In_Time, Out_time)
Я проверяю, совпадают ли дни, чтобы убедиться, что ошибки ввода при вводе дат включены в окончательный результат.
При этом я получаю две четыре строки с одинаковыми значениями. Я понимаю, что это связано с группировкой, но Netezza не позволяет использовать один атрибут в группе.
Может ли кто-нибудь помочь мне с правильным решением.