mysql8.0以上是支持窗口函数的,那么排名用窗口函数rank()就能轻松解决,但是大部分人还是用8.0一下的版本,一下代码可以结局如何进行分组排序.
先看一下我们的数据库的表,案例是随便乱填的,根据实际需求对号入座.
根据score按照userid进行分组排序.
代码如下
select userid,score,
IF(@p=userid,@r:=@r+1,@r:=1) AS rank,(@p:=userid) as p
from test , (SELECT @p:=NULL,@r:=1) a
来源:https://www.cnblogs.com/yuluoxingkong/p/10606425.html