是二楼兄弟那样理解的,
我举个例子吧:
法定上班是22天的,,,,如果一个员这个月上了25天,那么就有3天是法定加班的,这三天的工资是算2倍的,,因为人家老板是想发少点工资吗,所以要在这25天中找出出勤小时最少的3天来算2倍的工资,(注意:这也不是定是3天,有可能人家出勤了28天,那么就有6天是算2倍加班的,也就是说要在这个月中找出出勤小时最少的那6天来算2倍工资的,3倍的话就不用这样做了,3倍的工资直接按国家规定的日期来做就可以,关健是算这个2倍的,所以有点难度,还得注意:是用SQL语句来写的,没有涉及到其它的软件开发语言,所以灵活性又缩小了)我之前以为可以这样做,但是行不通,如下:
2倍天数:= (实际出勤天数-22)
2倍天数=(case when 2倍天数>0 then 2倍天数 else 0 end)
2倍天数=select SUM(top (case when 2倍天数=1 then 1 when 2倍天数=2 then 2 when........ else 0 end))
我之前就是这样做,,代码大概就是这个写法的,,原因是top m,,,这个m是不能够那样获得的,只能用一个数字来做的,如,top 3,top 5 这样才可以的,