不要 select count(*) from xxx where score>?
解决方案 »
- mysql创建触发器问题
- postgresql 认证问题,我找不到pg_hba.conf文件
- windows下无法载入postgresql驱动
- mysql与postgresql相比,哪个功能强大些,成熟些呢?听说mysql要收费了,难道真的不免费了吗?
- 求教:关于Mysql数据库导入
- 关于mysql数据库中数据的存放位置...如何设置??
- 简单问题:mysql一张表中最多可以存放多少条数据
- 数据库表结构升级,但是之前数据库的数据不能丢。大家有什么好的办法!!
- mysql 怎么实现按照汉子首字母检索数据
- sql语句优化问题,求助
- 请教微信朋友圈(好友动态)使用的存储方式是什么?
- 关于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