Добрый День ! )
Есть БД СКУД куда прилетают отчеты по проходам, проблема в том что необходимо удалять записи из БД одинаковые по времени +-20сек относящиеся к одному и тому же сотруднику, при этом их может быть множества.
Например:
если отметка до 13 часов- 2016-08-06 08:59:55
- 2016-08-06 09:00:05
- 2016-08-06 09:00:06
И из этих записей нужно удалить все кроме Первой.
если отметка после 13 ч - 2016-08-06 17:59:55
- 2016-08-06 17:00:05
- 2016-08-06 17:00:06
И из этих записей нужно удалить все кроме Последней.
Это SQL запрос отображающий повторные записи одного сотрудника в +-20сек с изображением результата
SELECT lg.lastname,lg.firstname, lg.time
FROM acc_monitor_log as lg
WHERE lg.lastname in (SELECT lastname FROM acc_monitor_log
WHERE(time < lg.time and time > DATE_ADD(lg.time,INTERVAL -20 SECOND))
OR (time > lg.time AND time < DATE_ADD(lg.time,INTERVAL 20 SECOND))
AND lastname = lg.lastname) AND LENGTH(lg.lastname) > 1
ORDER BY time DESC
Заранее Благодарен, за уделенное внимание !