1. 程式人生 > 其它 >SQL 2005中獲取每天每個人考勤的第一條和最後一條記錄

SQL 2005中獲取每天每個人考勤的第一條和最後一條記錄

大多數的考勤機都會存在重複的考勤記錄,給我們統計考勤帶來了影響,常用的考勤軟體都支援SQL Server資料庫,那麼我們可以做個查詢來實現此功能

網上也有不少人在問這個問題,但回答的sql 語句實現起來都比較複雜,這裡我們分兩步實現,然後把查詢結果合併在一起就行了,更簡單一些

我們的員工考勤表中有四列最關鍵的資料:號碼,姓名,日期,所在店

通過提取考勤時間中的日期部分進行合併,然後取最小日期和最大日期就能實現想要的結果,如下:

1 SELECT     號碼, 姓名, CONVERT(varchar(100), 日期, 23) AS sss, MIN(日期) AS 日期, 所在店
2 FROM         dbo.員工考勤
3 GROUP BY 號碼, 姓名, 所在店, CONVERT(varchar(100), 日期, 23) 4 UNION 5 SELECT 號碼, 姓名, CONVERT(varchar(100), 日期, 23) AS sss, MAX(日期) AS 日期, 所在店 6 FROM dbo.員工考勤 AS 員工考勤_1 7 GROUP BY 號碼, 姓名, 所在店, CONVERT(varchar(100), 日期, 23)