1
我们使用以下查询计算了排名。使用更新查询计算mysql中的排名
set @rank = 0;
Update rank_table
set position= (select @rank := @rank + 1)
order by points DESC, points_new DESC, points_old DESC;
然后按顺序计算排名。
例如。
我想其中具有相同条件的ID应分配相同的排名。 所以说, 这里id 1和2有相同的标准,那么应该有位置= 1,然后id 3应该有位置= 3。 不喜欢电流。 目前 - >编号1:位置1,ID 2:位置2,ID 3:位置3 但为ID 1和2具有它应该是相同的数据..
编号1:位置1,ID 2:位置1,Id 3:位置3
感谢您的帮助。
很好.. 它的工作。非常感谢。被卡住了。 – Beena
你能解释一下这些行是干什么的吗? 'if(@p:= points,@rank:= @rn,@rank:= @rn)' – Beena
@Bini。 。 。我不明白你的评论。 ':='给变量赋值。 if()是一个条件函数。这些是MySQL语言的基本部分。这是如何使用它们在其他数据库中实现相当于'rank()'的。 –