select
人员编号,
DATE_FORMAT(时间,'%Y-%m-%d') as 日期,
CONCAT(min(DATE_FORMAT(时间,'%H:%i:%s')),', ',max(DATE_FORMAT(时间,'%H:%i:%s'))) as 时间
from 表
GROUP BY 人员编号,日期
select uuid,substr(addtime,0,10), group_concat(substr(addtime,12,20) separator '分隔符') from table group by uuid,substr(addtime,0,10)
手机上写的,思路是,首先拿出id和日期来,然后将其打卡记录的小时等拿出,使用concat拼接,就好了。。还有你得确保每个人每天打卡的记录只有两天,还有就是上面的函数可以排序。。。应该就够了
select 人员编号, date_format(时间,'%Y-%m-%d') 日期,
group_concat( DATE_FORMAT(时间,'%T') order by DATE_FORMAT(时间,'%T') separator '\n' )
from sc_dict
group by 人员编号, date_format(时间,'%Y-%m-%d')
SELECT id,date, [time] = STUFF
((SELECT ',' + [time] FROM tb t
WHERE id = tb.id AND date=tb.date FOR XML PATH('')) , 1 , 1 , '')
FROM tb WITH(NOLOCK)
GROUP BY id,date