mysql导入打卡记录,查询员工每天最早上班时间和最晚下班时间

1、在数据库新建表card_records,根据打卡记录字段新建表的字段,新增id字段(自增)

mysql导入打卡记录,查询员工每天最早上班时间和最晚下班时间_第1张图片

2、利用navicat连接mysql数据库,导入打卡记录

右键新建的表,右键导入向导,选择导入的文件格式,我这里是excel2003,有时候mysql对excel2007不能正确打开,可以另存为excel2003

mysql导入打卡记录,查询员工每天最早上班时间和最晚下班时间_第2张图片

点击下一步,选择打卡记录所在的位置,以及数据在的sheet,我的数据在sheet4

mysql导入打卡记录,查询员工每天最早上班时间和最晚下班时间_第3张图片

点击下一步,定义数据从哪一行开始读取,默认的就可以,把日期格式由/改为-

mysql导入打卡记录,查询员工每天最早上班时间和最晚下班时间_第4张图片

点击下一步

mysql导入打卡记录,查询员工每天最早上班时间和最晚下班时间_第5张图片

点击下一步,将数据库字读和excel字段对应,id自增,表中没有字段与其对应,可以空着,插入时会自动递增

mysql导入打卡记录,查询员工每天最早上班时间和最晚下班时间_第6张图片

点击下一步

mysql导入打卡记录,查询员工每天最早上班时间和最晚下班时间_第7张图片

点击下一步

mysql导入打卡记录,查询员工每天最早上班时间和最晚下班时间_第8张图片

点击下一步

mysql导入打卡记录,查询员工每天最早上班时间和最晚下班时间_第9张图片

点击开始

mysql导入打卡记录,查询员工每天最早上班时间和最晚下班时间_第10张图片

至此,数据导入成功。

mysql导入打卡记录,查询员工每天最早上班时间和最晚下班时间_第11张图片

3、用sql语句进行查询

点击查询-新建查询,输入以下sql语句

select empcode 员工编号,cardcode 卡号,empname 姓名,
            cast(entrytime as date) 日期,
            min(cast(entrytime as time)) 上班时间,
            max(cast(entrytime as time)) 下班时间
     from card_records group by empcode,cast(entrytime as date)

结果如下图所示:

mysql导入打卡记录,查询员工每天最早上班时间和最晚下班时间_第12张图片

还可以改变以下显示的样式,输入以下sql语句

select empcode 员工编号,cardcode 卡号,empname 姓名,
            min(cast(entrytime as datetime)) 上班时间,
            max(cast(entrytime as datetime)) 下班时间
     from card_records group by empcode,cast(entrytime as date)

结果如下图所示:

mysql导入打卡记录,查询员工每天最早上班时间和最晚下班时间_第13张图片

将查询结果全部选中,右键复制,粘帖到新建的excel中即可。


你可能感兴趣的