考勤签到统计sql怎么写

要完成的效果是
img

数据库现在签到表有两种
1字段有(姓名,上午签到时间,上午签退,下午签到,下午签退)
2字段有(姓名,签到时间)
哪中好统计,如何设计好,该怎么统计, 谢了大家

第一种统计更方便,2种设计方法一条语句实现不了,最好是使用临时表结合存储过程处理。

第一种很清晰,适合小规模系统。签到直接插入或更新就可以了。统计直接查询签到字段。
第二种更灵活,结合考勤排班才能知道是签到还是签退。适合数据量大,排班复杂的系统。比如有早中晚三班的考勤,有多个时段弹性的考勤。统计签到需要结合考勤表。相对复杂一些