Rumah > Soal Jawab > teks badan
P粉2310799762023-08-19 07:58:16
Menggunakan fungsi LAG()
analisis, kita boleh mencuba:
WITH cte AS ( SELECT e.name, e.full_name, LAG(a.attendance_date) OVER (PARTITION BY a.employee ORDER BY a.attendance_date) AS lag_attendance_date FROM tabAttendance a INNER JOIN tabEmployee e ON e.name = a.employee ) SELECT DISTINCT name, full_name FROM cte WHERE DATEDIFF(attendance_date, lag_attendance_date) > 11;
Strategi asas di sini adalah untuk menjana ketinggalan (nilai berturut-turut sebelumnya) tarikh kehadiran dalam CTE. Kami kemudian hanya melaporkan pekerja dengan jurang 11 hari atau lebih lama.