一个不是很难,但我想不出简洁方法的问题?

ypwyy 2004-05-06 05:38:54
一个考勤系统,因为一个人可能同时刷几下卡,而其实只有几条数据有用,所以我的目的是提取出其中任意一条有效的条目:
举个例子:
员工 刷卡时间
张三 16:52
张三 16:53
张三 16:54
王五 12:20
李四 11:20
李四 11:21

我想得到如下数据
张三 16:52
王五 12:20
李四 11:20

有没有比较简单有效的方法
...全文
31 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
fjdelphiboy 2004-05-06
select distinct 员工,(select top 1 刷卡时间 from tab where 员工 = b.员工) as '刷卡时间' from tab b
  • 打赏
  • 举报
回复
8992026 2004-05-06
应该这样才合理:
select *
from tablename a
where 刷卡时间=(select top 1 刷卡时间 from tablename where 员工=a.员工 and abs(datadiff(second,刷卡时间,'规定的上下班时间'))<一个额定的秒数
order by 刷卡时间
)

其中:规定的上下班时间、一个额定的秒数都是常量


  • 打赏
  • 举报
回复
8992026 2004-05-06
select 员工,min(刷卡时间) as 刷卡时间
from tablename
group by 员工
  • 打赏
  • 举报
回复
相关推荐
发帖
疑难问题
加入

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2004-05-06 05:38
社区公告
暂无公告