select * from ( select adddate('2017-03-01', numlist.id) as 'date' from (SELECT n1.i + n10.i*10 + n100.i*100 AS id FROM num n1 cross join num as n10 cross join num as n100) as numlist where adddate('2017-03-01', numlist.id) <= '2017-03-31') as acc
left join (
GROUP BY employeeId
) as fcc on acc.date BETWEEN fcc.startTime AND fcc.endTime order BY date
left join (
select startTime,endTime,employeeId,
group_concat(recordId) as "Id", //group_concat将不同项的recordId放在一个格子里,以逗号隔开
group_concat(LPAD(type, 2, 0), //LPAD(type, 2, 0),自动补全两位数
date_format(startTime,'%H%i'),date_format(endTime,'%H%i') SEPARATOR "") as "time" from `ar` //date_format(startTime,'%H%i'),截取时间字符串,SEPARATOR ""去除逗号GROUP BY employeeId
) as fcc on acc.date BETWEEN fcc.startTime AND fcc.endTime order BY date