方法可能比较小众,功能需要突然想到有没有可以实现的方法。
对已查询出的数据进行递增排序,获取排名。做排行榜时候用的。
代码附上:
set @lo=0
select from (
select @lo:=@lo+1 as lo,mc.* from web_member_character as mc
ORDER BY order desc) as tb where uid = 1
主要就是前面的一段,from后面的语句可以忽略不看。
首先set @lo=0
,定义了一个mysql变量 lo并初始化为0。
select @lo:=@lo+1 as lo
,让lo这个变量在每个获取的结果中递增实现重新排序的效果。
平时自己在慕课上看mysql和w3cschool上《mysql教程》自学的,第一次遇到排行榜这种需求,网上查了下资料找到了这个解决方案,帮我实现了功能。
在这边和大家共享一下,如果有更好的方法求教育~
热门评论
这个方法不错 学习了
什么鬼 这不是MySQL吗