wslf111
wslf111
采纳率66.7%
2014-12-29 03:57 阅读 2.5k

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 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 bdmh 2014-12-29 04:59
    点赞 评论 复制链接分享
  • rui888 兔子托尼啊 2014-12-29 05:26

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

    点赞 评论 复制链接分享

相关推荐