喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
     
标题: [问题] mysql一句话更新排行  
 
guo664
金牌会员
Rank: 6Rank: 6


UID 74604
精华 0
积分 2390
帖子 301
金钱 2390 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2006-6-7
状态 离线
[广告]: q m
mysql一句话更新排行

ID    访问量   排名
1        58        0
2        21        0
3        36        0
4        12        0

如果通过一句话SQL语句上面的更新成下面的效果(只能一句SQL)不知道怎么做请大家帮忙




ID    访问量   排名
1        58        1
2        21        3
3        36        2
4        12        4
2008-7-16 04:07 PM#1
查看资料  Blog  发短消息  顶部
 
guog
论坛元老
Rank: 8Rank: 8



UID 79936
精华 0
积分 9716
帖子 434
金钱 9716 喜悦币
威望 0
人脉 0
阅读权限 90
注册 2006-9-12
来自 北京
状态 离线
[推荐阅读] 探讨php+mysql开发webgame群
一句自己感觉不可能,两句我也不会,三句马马虎虎



没有
2008-7-16 05:26 PM#2
查看资料  Blog  发短消息  顶部
 
guog
论坛元老
Rank: 8Rank: 8



UID 79936
精华 0
积分 9716
帖子 434
金钱 9716 喜悦币
威望 0
人脉 0
阅读权限 90
注册 2006-9-12
来自 北京
状态 离线
[推荐阅读] mysql有没有自动重建索引的工具?
首先要排序吧,然后更新吧,感觉一下不行,期待高人来个一句的。
set @mycnt=0;
$sql = select * ,(@mycnt :=@mycnt+1) as ct from table order 访问量 desc;
。。。
while($row = ..){
$sql = "update table set 排名=$row[ct] where id=$row[id]";
。。。。
}

没经过测试,理论上应该可以

[ 本帖最后由 guog 于 2008-7-16 05:39 PM 编辑 ]




没有
2008-7-16 05:31 PM#3
查看资料  Blog  发短消息  顶部
 
蟋蟀
版主
Rank: 7Rank: 7Rank: 7
村里巡逻队长


UID 67242
精华 0
积分 2036
帖子 1763
金钱 2036 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2005-12-17
来自 福建
状态 离线
[推荐阅读] 我该做猎头怎么样?
可以设置变量
select count(*) into @rec from table1 where visits < 67;
insert into table1 set visits = 67,ct=@rec;
这样可以,同样使用存储过程后者存储函数或者触发器都应该能实现这个。




吉林php群
27089230
2008-7-16 10:42 PM#4
查看资料  Blog  发短消息  QQ  顶部
 
phphp
版主
Rank: 7Rank: 7Rank: 7
加班一族


UID 65188
精华 1
积分 184
帖子 3007
金钱 173 喜悦币
威望 10
人脉 1
阅读权限 100
注册 2005-7-20
来自 北京市海淀区
状态 离线
[推荐阅读] 北京PHP之真人CS团伙建立,欢迎加入!
update 表格 set 排名= (@r_c:=IFNULL(@r_c, 0)+1) order by 访问量 desc;



书到用时方恨少, 事非经过不知难
2008-7-17 12:25 AM#5
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
guo664
金牌会员
Rank: 6Rank: 6


UID 74604
精华 0
积分 2390
帖子 301
金钱 2390 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2006-6-7
状态 离线
[推荐阅读] 求教exec的问题
update 表格 set 排名= (@r_c:=IFNULL(@r_c, 0)+1) order by 访问量 desc;
IFNULL(@r_c, 0)附值 失败
(第一次写入排行都是1 而如果不清除缓存执行第二次的时候就开始写入正常了,不过排行1就没有了直接从2开始了)



set @r_c=0;
update 表格 set 排名= (@t:=@t+1) order by 访问量 desc;
这句是执行成功的 但是这里用两句了
2008-7-17 09:20 AM#6
查看资料  Blog  发短消息  顶部
 
millken
高级会员
Rank: 4


UID 73040
精华 0
积分 742
帖子 521
金钱 742 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2006-5-9
来自 REFERER
状态 在线
[推荐阅读] 在服务器空间里如何安装phpmyadmin
update 表格 set 排名= (@r_c:=IFNULL(@r_c, 0)+1) order by 访问量 desc;
很好




Blogger 免费搭建的个人BLOG
2008-7-17 02:54 PM#7
查看资料  Blog  发短消息  顶部
 
guog
论坛元老
Rank: 8Rank: 8



UID 79936
精华 0
积分 9716
帖子 434
金钱 9716 喜悦币
威望 0
人脉 0
阅读权限 90
注册 2006-9-12
来自 北京
状态 离线
[推荐阅读] 辛巴网免费提供1Gphp空间,支持一级域名,无限myslq空间!
没想到update 也可以order,长知识了



没有
2008-7-17 05:14 PM#8
查看资料  Blog  发短消息  顶部
 
chinahtml
金牌会员
Rank: 6Rank: 6


UID 69683
精华 0
积分 1012
帖子 1019
金钱 1012 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2006-3-16
状态 离线
[推荐阅读] 随机数概率问题
回复 #5 phphp 的帖子

忒强!....



-地振山冈,一派溪山千古秀
-门朝大海,山合河水万年流
2008-7-17 11:00 PM#9
查看资料  发短消息  顶部
 
游戏人间
版主
Rank: 7Rank: 7Rank: 7
☞风云山庄大少爷☜


UID 62639
精华 2
积分 14642
帖子 7738
金钱 14493 喜悦币
威望 20
人脉 129
阅读权限 100
注册 2004-12-21
来自 广西人在北京
状态 离线
[推荐阅读] 北京海淀-PHP Web研发工程师(全职3名)
这么好的东西,留一腿



 
群号:6025396/6025252/19520091(广西PHP交流/PHP高级编程/算法交流) 寧可在嘗試中失敗,也不在保守中成功! 不為失敗找理由,只為成功找方法! 饿踢Blog
 
2008-7-18 09:02 AM#10
查看资料  访问主页  Blog  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.024594 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP