求一条sql语句 sqlserver数据库

求一条sql语句 sqlserver数据库

问题描述:

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

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

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