公司规定一周内加班最多12小时,多余的要去掉,去掉的规则是:某天的加班时长超过1小时的才能去,而且依次大致平均的去,(最小单位是1小时):
举例:(table_a)
日期 工号 加班时长
周一 A001 6
周二 A001 2
周三 A001 1
周四 A001 5
周五 A001 7
--------------------
共加班:21小时,超出了9小时 从周一开始依次删减,每天减去1小时(如果加班时间超过1小时),一轮后如果还超过12小时,继续下一轮,直到刚好12小时为止。
最后结果应该是:
日期 工号 加班时长
周一 A001 3 ----减3次
周二 A001 1 ----减1次
周三 A001 1 ----减0次
周四 A001 2 ----减3次
周五 A001 5 ----减2次
--------------------
如果有几千个员工,如何用SQL实现?
举例:(table_a)
日期 工号 加班时长
周一 A001 6
周二 A001 2
周三 A001 1
周四 A001 5
周五 A001 7
--------------------
共加班:21小时,超出了9小时 从周一开始依次删减,每天减去1小时(如果加班时间超过1小时),一轮后如果还超过12小时,继续下一轮,直到刚好12小时为止。
最后结果应该是:
日期 工号 加班时长
周一 A001 3 ----减3次
周二 A001 1 ----减1次
周三 A001 1 ----减0次
周四 A001 2 ----减3次
周五 A001 5 ----减2次
--------------------
如果有几千个员工,如何用SQL实现?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货