一.从test02表中查询每个uid最早登录的前2天
表如下图所示:
select * from (select uid,day, @ROW := case when @uuid=uid then @ROW+1 else 1 END rn, @uuid:=uid from (select uid,day from test02 where day between '2019-09-01' and '2019-09-30' order by uid,day) l2, (select @ROW:=0 ,@uuid:=0) l3 ) l4 where rn <=2
运行结果如下图:
简单解释:@ROW:=0 ,@uuid:=0 相当于2个变量
当@uuid=uid时代表为同一用户,@ROW可以理解为行号
用户不同时,@ROW再次为1
注意:一定要提前做好排序