近期根据公司人事要求,写了一些关于考勤统计的报表。主要是查询员工每月的考勤数据,要求一行数据显示员工的当月的每天的考勤信息,标的样式如下:

然后,根据考勤表,写了如下SQL语句,来实现报表的查询,谨以此做记录,以备后续查阅。
SELECT DeptName AS 所属部门,
UserName AS 员工姓名,
UserKQID AS 员工编号,
Substring(WorkDate, 1, 7) AS 考勤月份,
Count(( CASE
WHEN isworkday = 1
AND ( Datediff(minute, BeginTime, endtime) ) / 60 >= 9 THEN WorkDate
END )) AS 正常出勤天数,
Count(( CASE
WHEN ( isworkday = 1
AND BeginTime = EndTime
这篇博客记录了如何利用SQL语句处理考勤统计报表,满足显示员工每月每天考勤信息的需求。面对大量考勤数据,通过建立中间表进行分表处理,提高查询效率。文章提到,每个员工每月在中间表中只有一条记录,确保查询速度快。作者计划后续分享中间表的设计细节。
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



