How to Get the First in and Last out in night shift?
For dayshift use

SELECT DISTINCT
       user_id,
       DATE(verify_date) the_date,
       MIN(verify_date) OVER (PARTITION BY user_id, DATE(verify_date)) min_datetime,
       MAX(verify_date) OVER (PARTITION BY user_id, DATE(verify_date)) max_datetime
FROM tbl_attendance
ORDER BY user_id, the_date;


For nightshift use

WITH cte AS (SELECT user_id,
                    verify_date, 
                    LEAD(verify_date) OVER (PARTITION BY user_id ORDER BY verify_date) lead_date
             FROM tbl_attendance)
SELECT * 
FROM cte 
WHERE DATE(verify_date) != DATE(lead_date)
ORDER BY user_id, verify_date;


fiddle