若邪
2015-09-28 06:19
采纳率: 83.3%
浏览 1.6k

求一条sql语句 sqlserver数据库

刷卡表,有ID,刷卡时间、时间等并和用户表形成多对一关系,使用的是sqlserver。
我要取得是“昨天,每个用户的最大刷卡时间和最小刷卡时间的刷卡数据”。
我的SQL不是很好,昨天、最大刷卡时间和最小都能搞出来,但是加个每个用户就乱了;
因为每个用户都可能会有多条刷卡数据.
。。。求解
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 阳泉酒家小当家 2015-09-28 07:29
    已采纳

    select b.username,
    max(刷卡时间) 最大刷卡时间,
    min(刷卡时间) 最小刷卡时间
    from 刷卡表 a
    inner join 用户表 b
    on a.用户id = b.用户id
    where 时间 = dateadd(day,-1,getdate()) --年月日,没有时分秒
    group by b.username

    点赞 打赏 评论
  • bdmh 2015-09-28 06:25

    用datediff取得和今天相差一天的日期,然后就是select max,min 等操作

    点赞 打赏 评论

相关推荐