mysql中@ROW的使用

两盒软妹~` 提交于 2019-12-06 12:22:13

一.从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

注意:一定要提前做好排序

    

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!