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语句可以作为一张表来使用

posted @ 2022-06-09 00:29  快了星球  阅读(357)  评论(0)    收藏  举报