Мой вопрос немного сложнее, чем подразумевается в заголовке, но вот он:
У меня есть таблица с данными перфорации, отформатированные так:
name time_in time_out location
1 2018-05-31 10:09:00 2018-05-31 16:06:00 1
3 2018-05-31 10:12:00 2018-05-31 17:03:00 1
Я бы хотелзапрос select, который возвращает общее время в часах людей, работающих в течение 15 минут, для каждого местоположения.Вот пример выходных данных для двух указанных строк:
time labor_hours location
2018-05-31 10:00:00 .15 1
2018-05-31 10:15:00 .50 1
2018-05-31 10:30:00 .50 1
2018-05-31 10:45:00 .50 1
2018-05-31 11:00:00 .50 1
...
2018-05-31 15:45:00 .50 1
2018-05-31 16:00:00 .35 1
2018-05-31 16:15:00 .25 1
2018-05-31 16:30:00 .25 1
2018-05-31 16:45:00 .25 1
2018-05-31 17:00:00 .10 1
Рабочее время - это общее количество отработанных часов за 15 минут в часах.Так, например, первая строка была рассчитана путем просмотра первых двух строк и определения того, что с 10:00:00 до 10:15:00 сотрудники 1 и 2 работали в общей сложности 9 минут.Так как это в часах 9/60 = .15.
Я новичок в SQL, так что я довольно растерялся, как начать с этого.