How do i delete multiple records of attendance ? I have tried Several Queries to delete the Unwated data. also verify state identify
0 = Time In and 1 = Time Out
This is the sample Fiddle
Expected Output :
user_id verify_date verify_state prev_state next_state TO_Date
14 2019-11-15 07:29:00 0 1 1 2019-11-15 19:12:00
15 2019-11-15 22:12:00 0 1 1 2019-11-16 06:29:00
Sample Query i have tried
delete from tbl_excel_attendance where CONCAT(User_id,verify_date) in (select CONCAT(User_id,verify_date) from
(select
A.*,
LAG(A.Verify_State) OVER (PARTITION BY A.User_id ORDER BY A.User_id, A.verify_date) as Prv_row_State,
LEAD(A.Verify_State) OVER (PARTITION BY A.User_id ORDER BY A.User_id, A.verify_date) as Nxt_row_State,
LEAD(A.verify_date) OVER (PARTITION BY A.User_id ORDER BY A.User_id, A.verify_date) as TO_Date
from tbl_excel_attendance as A ) as X
where
(X.Prv_row_State = 1 and X.verify_state = 1 and X.Nxt_row_State = 0) OR
(X.Prv_row_State = 1 and X.verify_state = 1 and X.Nxt_row_State = 1 and TIMESTAMPDIFF(Hour,X.verify_date,X.TO_Date)< 12.01) OR
(X.Prv_row_State = 0 and X.verify_state = 1 and X.Nxt_row_State = 1 and TIMESTAMPDIFF(Hour,X.verify_date,X.TO_Date)< 12.01) OR
(X.Prv_row_State = 0 and X.verify_state = 0 and X.Nxt_row_State = 1) OR
(X.Prv_row_State = 0 and X.verify_state = 0 and X.Nxt_row_State = 0) OR
(X.Prv_row_State is null and X.verify_state = 1 and X.Nxt_row_State = 1))
Which deletion of attendance base on my analysis
EDIT : Their Biometric is Door Access so it means if they need to go out they need to tap the biometric.
User id of 15 is a night shift.