应该这样才合理: select * from tablename a where 刷卡时间=(select top 1 刷卡时间 from tablename where 员工=a.员工 and abs(datadiff(second,刷卡时间,'规定的上下班时间'))<一个额定的秒数 order by 刷卡时间 )其中:规定的上下班时间、一个额定的秒数都是常量
select distinct 员工,(select top 1 刷卡时间 from tab where 员工 = b.员工) as '刷卡时间' from tab b
select *
from tablename a
where 刷卡时间=(select top 1 刷卡时间 from tablename where 员工=a.员工 and abs(datadiff(second,刷卡时间,'规定的上下班时间'))<一个额定的秒数
order by 刷卡时间
)其中:规定的上下班时间、一个额定的秒数都是常量