使用mysql 统计一周内每个人的工作量

163 阅读1分钟

mysql 统计一周数据

select a.click_date,ifnull(b.count,0) as count
from (
    SELECT curdate() as click_date
    union all
    SELECT date_sub(curdate(), interval 1 day) as click_date
    union all
    SELECT date_sub(curdate(), interval 2 day) as click_date
    union all
    SELECT date_sub(curdate(), interval 3 day) as click_date
    union all
    SELECT date_sub(curdate(), interval 4 day) as click_date
    union all
    SELECT date_sub(curdate(), interval 5 day) as click_date
    union all
    SELECT date_sub(curdate(), interval 6 day) as click_date
) a left join (
  select DATE_FORMAT(created_time,'%Y-%m-%d') as datetime, count(*) as count
  from 	`meters_result`
	WHERE `substation_name` = '${substation}' 
	AND `fact_finder` = '${fact}'
  group by `fact_finder`, DATE_FORMAT(created_time,'%Y-%m-%d') 
) b on a.click_date = b.datetime;