SELECT s.day ,ifnull(re.register,0) as register , ifnull( pe.perfect,0) as perfect ,ifnull( ce.certified,0) as certified from (
select s.day from (SELECT @mycnt := -1 FROM DUAL) r ,
(select date_add("2017-10-09",interval @mycnt :=@mycnt + 1 day) as day from t_user limit 6) s ) s
LEFT JOIN ( select DATE_FORMAT(create_date,'%Y-%m-%d') days,count(*) register from t_user group by days ) re on re.days = s.day
LEFT JOIN ( select DATE_FORMAT(upstatus_date,'%Y-%m-%d') days,count(*) perfect from t_user group by days ) pe on pe.days = s.day
LEFT JOIN ( select DATE_FORMAT(create_date,'%Y-%m-%d') days,count(*) certified from t_table group by days ) ce on ce.days = s.day
select s.day from (SELECT @mycnt := -1 FROM DUAL) r ,
(select date_add("2017-10-09",interval @mycnt :=@mycnt + 1 day) as day from t_user limit 6) s ) s
LEFT JOIN ( select DATE_FORMAT(create_date,'%Y-%m-%d') days,count(*) register from t_user group by days ) re on re.days = s.day
LEFT JOIN ( select DATE_FORMAT(upstatus_date,'%Y-%m-%d') days,count(*) perfect from t_user group by days ) pe on pe.days = s.day
LEFT JOIN ( select DATE_FORMAT(create_date,'%Y-%m-%d') days,count(*) certified from t_table group by days ) ce on ce.days = s.day