6 个解决方案
#1
select min([time]) as 第一次打卡,max([time]) as 最后一次打卡 from tab
#2
select * from t a
where 打卡時間=(select min(打卡時間) from t where a.工號=工號)
or
打卡時間=(select max(打卡時間)from t where a.工號=工號)
#3
select * from t a
where 打卡時間=(select min(打卡時間) from t where a.工號=工號 and 打卡时间>软件设置时间)
or
打卡時間=(select max(打卡時間)from t where a.工號=工號 and 打卡时间>软件设置时间)
where 打卡時間=(select min(打卡時間) from t where a.工號=工號 and 打卡时间>软件设置时间)
or
打卡時間=(select max(打卡時間)from t where a.工號=工號 and 打卡时间>软件设置时间)
#4
在考勤方面,如果一个人打卡多次,但取数据时只取第一次打卡的时间与最后一次的时间为有效时间,sql语句应该如何去写!多谢!
select id , min(打卡时间) 第一次打卡的时间 , max(打卡时间) 最后一次的时间 from tb group by id
select id , min(打卡时间) 第一次打卡的时间 , max(打卡时间) 最后一次的时间 from tb group by id
#5
我个人认为应该包含日期.
select id , convert(varchar(10),日期,120) 日期 , min(打卡时间) 第一次打卡的时间 , max(打卡时间) 最后一次的时间 from tb group by id , convert(varchar(10),日期,120)
select id , convert(varchar(10),日期,120) 日期 , min(打卡时间) 第一次打卡的时间 , max(打卡时间) 最后一次的时间 from tb group by id , convert(varchar(10),日期,120)
#6
谢谢大家的指引,你们说的意思我还是清楚,问题在于如果是一个月的所有记录,但每天都应分析出每一个人的打卡情况,那日期从月前到月末怎么去遍历呢(也就是说用SQL语句怎么才能得到从1号到31号的日期)!谢谢!
#1
select min([time]) as 第一次打卡,max([time]) as 最后一次打卡 from tab
#2
select * from t a
where 打卡時間=(select min(打卡時間) from t where a.工號=工號)
or
打卡時間=(select max(打卡時間)from t where a.工號=工號)
#3
select * from t a
where 打卡時間=(select min(打卡時間) from t where a.工號=工號 and 打卡时间>软件设置时间)
or
打卡時間=(select max(打卡時間)from t where a.工號=工號 and 打卡时间>软件设置时间)
where 打卡時間=(select min(打卡時間) from t where a.工號=工號 and 打卡时间>软件设置时间)
or
打卡時間=(select max(打卡時間)from t where a.工號=工號 and 打卡时间>软件设置时间)
#4
在考勤方面,如果一个人打卡多次,但取数据时只取第一次打卡的时间与最后一次的时间为有效时间,sql语句应该如何去写!多谢!
select id , min(打卡时间) 第一次打卡的时间 , max(打卡时间) 最后一次的时间 from tb group by id
select id , min(打卡时间) 第一次打卡的时间 , max(打卡时间) 最后一次的时间 from tb group by id
#5
我个人认为应该包含日期.
select id , convert(varchar(10),日期,120) 日期 , min(打卡时间) 第一次打卡的时间 , max(打卡时间) 最后一次的时间 from tb group by id , convert(varchar(10),日期,120)
select id , convert(varchar(10),日期,120) 日期 , min(打卡时间) 第一次打卡的时间 , max(打卡时间) 最后一次的时间 from tb group by id , convert(varchar(10),日期,120)
#6
谢谢大家的指引,你们说的意思我还是清楚,问题在于如果是一个月的所有记录,但每天都应分析出每一个人的打卡情况,那日期从月前到月末怎么去遍历呢(也就是说用SQL语句怎么才能得到从1号到31号的日期)!谢谢!