首页 > Web开发 > 详细

mysql生成自然序

时间:2014-01-14 19:33:47      阅读:547      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
角色    积分   排名
1      100    
2      130    
3      134    
4      131    
5      123    
6      103    
7      104    

每日按照积分重新排名一次,计算按照积分的排名前50
常规思路:
    1、select * from xxx order by 积分 desc limit 50
    2、程序里计算  逐个update 排名 = yyy  where 角色 = 。。。
不借助额外临时表的情况下,还有更简便的方法么?
bubuko.com,布布扣

经过折腾试验一番,总结了一条sql:

update xxx as t1,(select @i:=@i+1 as pm,jsid from xxxi,(SELECT @i:= 0) t order by 积分 desc limit 50) as t2
set t1.排名=t2.pm where t1.角色=t2.角色

但是没经过大量数据验证效率,先记录下!

mysql生成自然序

原文:http://www.cnblogs.com/phper007/p/3512462.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!