|
Выбор парных записей
|
|||
---|---|---|---|
#18+
Доброго времени суток. Нужна помощь в выборке записей, есть таблица историй в ней записываются действия прихода и ухода. Необходимо выбрать все приходы за последние 24 часа, а так же парные для них уходы. Пример данных, есть приход в '2017-01-01 12:00:00' и парный для него уход в '2017-01-01 22:00:00', но в этот промежуток (24 часа) добавляется приход в '2017-01-02 05:00:00' и парный уход в '2017-01-02 13:00:00'. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 12:54 |
|
Выбор парных записей
|
|||
---|---|---|---|
#18+
good32, приходы-уходы всегда парные? вариант, что человек пришел, но вышел в окно - точно не встречаются? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 12:56 |
|
Выбор парных записей
|
|||
---|---|---|---|
#18+
Щукина Анна, Не важно сколько приходов сделано, берем по факту последний приход и парный для него уход. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 13:03 |
|
Выбор парных записей
|
|||
---|---|---|---|
#18+
good32, тогда lead/lag в сортировке по дате события (приход/уход). если речь идет об учете рабочего времени, то еще partition by <по сотруднику> ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 13:14 |
|
Выбор парных записей
|
|||
---|---|---|---|
#18+
Щукина Анна, Можно более подробнее, с примером? К сожалению, не так хорошо понимаю принцип работы оконных функций. В таблице историй, есть колонка id пользователя, status означающий событие и дата этого события. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 13:28 |
|
Выбор парных записей
|
|||
---|---|---|---|
#18+
good32, всё же момент с допустимостью нескольких подряд событий одного типа не раскрыт. поэтому буду исходить из предположения, что может быть несколько входов подряд, несколько выходов. могут быть "висячие" входы без парных им выходов и наоборот. примерное направление движение будет выглядеть так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.
Проверка Более точное решение, надуюсь, сможете доработать самостоятельно. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 06:27 |
|
Выбор парных записей
|
|||
---|---|---|---|
#18+
Щукина Анна, Спасибо, но я так и не смог доработать самостоятельно т.к в условии необходимо выбрать все приходы за последние 24 часа, после чего нужно выбрать все парные для него уходы. В случае если есть ошибочная записи прихода, т.е 2 прихода и 1 уход, нужно брать за основу вторую запись. С уходом все иначе, берется первая запись. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 09:32 |
|
|
start [/forum/topic.php?fid=53&msg=39556126&tid=1996091]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 145ms |
0 / 0 |