wslf111
2014-12-29 03:57
采纳率: 66.7%
浏览 2.6k

sql server在同一表中筛选出两次刷卡记录时间大于等于40分钟的员工数据

刷卡进出数据存储在同一表中,姓名有重复的,一个人可能刷了2次,要求选出在时间段2014-12-28 11:00:00到2014-12-28 13:00:00内两次刷卡记录时间间隔大于等于40分钟的员工
logtime (时间 )logcard (卡号 )logid () logname(姓名) logbm (部门)

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • ACMAIN_CHM 2014-12-29 09:37
    已采纳

    ```select *
    from 同一表 a
    where logtime between '2014-12-28 11:00:00' and '2014-12-28 13:00:00'
    and exists (select 1 from 同一表 where logcard=a.logcard and logtime between '2014-12-28 11:00:00' and '2014-12-28 13:00:00' and (logtime>a.logtime + 40/60/24 or logtime<a.logtime - 40/60/24))

    
    
    点赞 打赏 评论
  • bdmh 2014-12-29 04:59
    点赞 打赏 评论
  • 兔子托尼啊 2014-12-29 05:26

    日期函数比较试试。楼上。

    点赞 打赏 评论

相关推荐 更多相似问题