|
|
|
Рассчитать кол-во отработанных часов, время обеда/перекура для каждого работника
|
|||
|---|---|---|---|
|
#18+
Гуру данного форума, мне очень нужна помощь, не могу допетрить, как правильно решить задачку. ОЧЕНЬ ОЧЕНЬ НУЖЕН ХЕЛП ВАШ !!!!!!!!!!! Есть таблица worker_time, содержащая id работника (worker_id), время его захода на работу (dt_in) и время выхода с работы (dt_out) за каждый день worker_id dt_in dt_out 1 10.01.2018 08:34:55 10.01.2018 11:34:55 1 10.01.2018 12:26:55 10.01.2018 15:49:55 1 10.01.2018 15:58:55 10.01.2018 17:20:55 2 10.01.2018 09:00:55 10.01.2018 14:00:55 2 10.01.2018 14:55:55 10.01.2018 18:05:55 Необходимо рассчитать кол-во отработанных часов, время обеда/перекура по каждому работнику за каждый день Пока на ум приходит только пока вот такое. SELECT worker_id as "Сотрудник", ROUND((dt_out-dt_in) * 24,2) as "отработнано, в часах" FROM worker_time; Дальше Мозг не варит, я не программист и даже не начинающий. Эта задачка с универа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 11:15 |
|
||
|
Рассчитать кол-во отработанных часов, время обеда/перекура для каждого работника
|
|||
|---|---|---|---|
|
#18+
Malenki_2000, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 11:37 |
|
||
|
Рассчитать кол-во отработанных часов, время обеда/перекура для каждого работника
|
|||
|---|---|---|---|
|
#18+
А если работник пришел в 5ч утра, а рабочий день начинается с 8ч? Или пришел, но вообще не уходил (жена выгнала) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 11:41 |
|
||
|
Рассчитать кол-во отработанных часов, время обеда/перекура для каждого работника
|
|||
|---|---|---|---|
|
#18+
DshedooMalenki_2000, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Спасибо за селект с отработанным временнем, а как же посчитать из всей этой петрушки время перерыва? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 11:44 |
|
||
|
Рассчитать кол-во отработанных часов, время обеда/перекура для каждого работника
|
|||
|---|---|---|---|
|
#18+
Malenki_2000а как же посчитать из всей этой петрушки время перерыва 24 часа минусавторселект с отработанным временнем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 12:24 |
|
||
|
Рассчитать кол-во отработанных часов, время обеда/перекура для каждого работника
|
|||
|---|---|---|---|
|
#18+
Malenki_2000, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Но это всё равно имеет мало общего с реальностью. В реальности у тебя таблица будет иметь вид: Сотрудник - Тип_действия - Дата действия Вася - пришёл - 8:00 Коля - пришёл - 9:00 Игнат - пришёл - 9:01 Коля - ушёл - 9:02 Но это уже совсем другая история... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 12:48 |
|
||
|
Рассчитать кол-во отработанных часов, время обеда/перекура для каждого работника
|
|||
|---|---|---|---|
|
#18+
DshedooНо это всё равно имеет мало общего с реальностью. В реальности у тебя таблица будет иметь вид: Сотрудник - Тип_действия - Дата действия Вася - пришёл - 8:00 Коля - пришёл - 9:00 Игнат - пришёл - 9:01 Коля - ушёл - 9:02 Но это уже совсем другая история...Да и по дням данные не группируются Malenki_2000Необходимо рассчитать кол-во отработанных часов, время обеда/перекура по каждому работнику за каждый день ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 13:02 |
|
||
|
Рассчитать кол-во отработанных часов, время обеда/перекура для каждого работника
|
|||
|---|---|---|---|
|
#18+
В вопросе рабочего времени много нюансов, которые необходимо подробно описать. Часть обсуждалась тут: отлов "опоздунов" на работу А что такое обед, перекур, перерыв? Показывать ли их раздельно или совместно? Есть ли принудительное минимальное время обеда (никуда не уходил, смотрел котиков и кушал прямо из банки на рабочем месте)? Конечно, самый простой вариант: раб.время = sum(время_выхода_после_последнего_входа - время_входа) по всем парам вход-выход, а перерыв = (время_последнего_выхода - время_первого_входа) - раб.время но в реальности много разнообразных частных случаев, которые в эту схему не запихать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 13:13 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39606084&tid=1884384]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
143ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 446ms |

| 0 / 0 |
