帮忙看看这个表应该怎么设计 不要 select count(*) from xxx where score>? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 order by 1 使用mysql_fetch_array()从结果集取出数组 2 循环输出用到程序多一些 参考下贴中的多种方法http://blog.csdn.net/acmain_chm/article/details/4126306[征集]分组取最大N条记录方法征集,及散分... 我不需要分组,而且是查询某个用户的所在的排名。例如+----+------+| name |score|+----+| aaa | 95 || bbb | 94 || ccc | 93 || ddd | 92 || eee | 91 |+----+------+我想要查询ccc是排在第几位的 我不需要分组,而且是查询某个用户的所在的排名。例如+----+------+| name |score|+----+| aaa | 95 || bbb | 94 || ccc | 93 || ddd | 92 || eee | 91 |+----+------+我想要查询ccc是排在第几位的每个用户在表中对应多少条记录 ?如果表名为 : user_score 表结构为: us_id int(11) ,u_name ,u_score (1)用户与记录关系 一对一 : 直接按照 u_score 倒序排序即可一对多 :多条需要使用 group by 分组并对 某个用户的分数就和 ,之后在倒序排序 (2)在查询结果中顺便添加个 序列 (名次) select (@i:=@i+1) as i,table_name.* from table_name,(select @i:=0) as it 如果想要限制前几名 可以使用 top 关键字实现 ......希望对你有帮助 ! 数据量稍微有点多,虽然score有索引,但是count需要去遍历,而且我们有一个抢的活动,到一定时间点,并发的访问量非常大。 我不需要分组,而且是查询某个用户的所在的排名。例如+----+------+| name |score|+----+| aaa | 95 || bbb | 94 || ccc | 93 || ddd | 92 || eee | 91 |+----+------+我想要查询ccc是排在第几位的每个用户在表中对应多少条记录 ?如果表名为 : user_score 表结构为: us_id int(11) ,u_name ,u_score (1)用户与记录关系 一对一 : 直接按照 u_score 倒序排序即可一对多 :多条需要使用 group by 分组并对 某个用户的分数就和 ,之后在倒序排序 (2)在查询结果中顺便添加个 序列 (名次) select (@i:=@i+1) as i,table_name.* from table_name,(select @i:=0) as it 如果想要限制前几名 可以使用 top 关键字实现 ......希望对你有帮助 !用户和记录是一对一,我只想取某个用户排在第几名。 如果楼主的用户量很大,而且用户同时在更新自己的积分数量,在高并发的情况下进行数据库查询效率将会极低。优化sql语句可能不能解决根本原因。可尝试在数据库前端架设缓存,在缓存中计算排名。下面这个帖子讨论了排名计算的算法。可参考。http://www.cnblogs.com/weidagang2046/archive/2012/03/01/massive-user-ranking.html 【mysql集群】mysql集群配置,本人已测试 怎么改mysql中my.ini的参数,用语句 用navicat连接mysql数据库失败,DOS下却成功(百度2天,至今没解,内附超详细描述,只求一解) 8G内存,myisam存储引擎的系统参数配置,大家给予点意见! 存储过程中的while循环语句 大家能否帮我看看这个SQL脚本文件,还原有问题 MySQL初学者提问 求mysql中文手册 如何用jbuilder访问mysql? 请帮忙! 替换关键字符串 请教微信朋友圈(好友动态)使用的存储方式是什么? 关于group by with rollup的问题
1 使用mysql_fetch_array()从结果集取出数组
2 循环输出
用到程序多一些
[征集]分组取最大N条记录方法征集,及散分...
我不需要分组,而且是查询某个用户的所在的排名。
例如+----+------+
| name |score|
+----+
| aaa | 95 |
| bbb | 94 |
| ccc | 93 |
| ddd | 92 |
| eee | 91 |
+----+------+我想要查询ccc是排在第几位的
我不需要分组,而且是查询某个用户的所在的排名。
例如+----+------+
| name |score|
+----+
| aaa | 95 |
| bbb | 94 |
| ccc | 93 |
| ddd | 92 |
| eee | 91 |
+----+------+我想要查询ccc是排在第几位的
每个用户在表中对应多少条记录 ?
如果表名为 : user_score
表结构为: us_id int(11) ,u_name ,u_score
(1)用户与记录关系
一对一 : 直接按照 u_score 倒序排序即可
一对多 :多条需要使用 group by 分组并对 某个用户的分数就和 ,之后在倒序排序 (2)在查询结果中顺便添加个 序列 (名次) select (@i:=@i+1) as i,table_name.* from table_name,(select @i:=0) as it 如果想要限制前几名 可以使用 top 关键字实现 ......希望对你有帮助 !
数据量稍微有点多,虽然score有索引,但是count需要去遍历,而且我们有一个抢的活动,到一定时间点,并发的访问量非常大。
我不需要分组,而且是查询某个用户的所在的排名。
例如+----+------+
| name |score|
+----+
| aaa | 95 |
| bbb | 94 |
| ccc | 93 |
| ddd | 92 |
| eee | 91 |
+----+------+我想要查询ccc是排在第几位的
每个用户在表中对应多少条记录 ?
如果表名为 : user_score
表结构为: us_id int(11) ,u_name ,u_score
(1)用户与记录关系
一对一 : 直接按照 u_score 倒序排序即可
一对多 :多条需要使用 group by 分组并对 某个用户的分数就和 ,之后在倒序排序 (2)在查询结果中顺便添加个 序列 (名次) select (@i:=@i+1) as i,table_name.* from table_name,(select @i:=0) as it 如果想要限制前几名 可以使用 top 关键字实现 ......希望对你有帮助 !用户和记录是一对一,我只想取某个用户排在第几名。
http://www.cnblogs.com/weidagang2046/archive/2012/03/01/massive-user-ranking.html