求mysql大佬指教,mysql考勤查询

求mysql大佬指教,mysql考勤查询,第1张

1、维护数据

员工表

考勤表

2、查询迟到、早退数据

3、sql

SELECT

T.emp_no,

T.username,

T1.attendace_time,

T1.start_time,

T1.end_time,

CASE

WHEN DATE_FORMAT(T1.start_time, '%H') >= '09' THEN

'迟到'

END AS start_time_flag,

CASE

WHEN DATE_FORMAT(T1.end_time, '%H') <'17' THEN

'早退'

END AS end_time_flag

FROM

`员工表` T

INNER JOIN `考勤表` T1 ON T.emp_no = T1.emp_no

WHERE

DATE_FORMAT(T1.attendace_time, '%Y%m') = '201909' /*月份参数*/

mysql如何查看半个月迟报数据?查看半个月迟到的数据,那么他这个半个月迟到的数据也就可以看他的打卡记录,打卡机,打卡机上有打卡记录,打卡记录就可以看到他的半个月迟到的数据,因为他半个月迟到的时候去就可以迟报收据,那么它这个渠道的收据就是可以进行一个打卡机里面体现出来,所以就可以查看半个月的,所以迟到数据。

没有实际表情况说明,不能给出具体方案。提供一个思路吧,如果说有张学生出勤记录表,也就是学生实际出勤记录 + 学生表,要使用连接查询,统计实际学生出勤次数,然后设置规定出勤次数 减去 已经出勤次数。

如果说出勤记录表中,本身都记录了学生未出勤的记录的话,使用 count 与 group by,一个按学生分组,统计为出勤记录的条数就行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7399870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存