sql分组 计算count(*)或sum()
select IFNULL(overtime_user_id,0),IFNULL(leave_user_id,0),user_name,requiredDays,requiredDays-IFNULL(c.leavedays,0) as actualDays,IFNULL(d.overtimedays,0) as overtimeDays
from attendance a,leaves l,user u,work_overtime w,
(select user_id, sum(leave_counts)as leavedays from leaves
group by user_id
) as c,
(select user_id,(sum(datediff(endTime,startTime)))as overtimedays from work_overtime
group by user_id
) as d
where c.user_id=l.user_id and a.leave_user_id=l.user_id and u.user_id=l.user_id
and
d.user_id=w.user_id and u.user_id=w.user_id and c.user_id=d.user_id
GROUP BY leave_user_id,requiredDays,overtime_user_id
order by leave_user_id
LIMIT #{Page},#{size};
group by 字段名
其中的字段名在select中要有
select语句可以作为一张表来使用
浙公网安备 33010602011771号