要求查出loginout在17点之后的所有记录并统计出多出来的时间(分钟),找到几种方法,立贴备忘
select *, time(loginout) from kaoqin where hour(loginout)>17
找出17点之后的记录
select MINUTE(TIMEDIFF(time(loginout),time("17:00:00"))) from kaoqin where hour(loginout)>17
这种方法只能查分钟,不能累加小时,如18:55查出来的结果是55,不可取
select round((time_to_sec(time(loginout))-time_to_sec(time("17:00:00")))/60) from kaoqin where hour(loginout)>17
第二种方法 通过time_to_sec查询两个时间差的秒数转换成分钟
最后按工号分组求和 搞定:
select yggh,sum(round((time_to_sec(time(loginout))-time_to_sec(time("17:00:00")))/60)) from kaoqin where hour(loginout)>17
and loginout<"2009-7-1" group by yggh