userid score ID
100 3 1
101 4 1
102 5 1
103 6 1
104 7 1
105 1 2
106 2 2
107 3 2
108 4 2
109 5 2
120 1 3
121 2 3
122 4 3
123 6 3
124 7 3
以上表中 怎样通过sql取得不同ID下得分前三的userid
100 3 1
101 4 1
102 5 1
103 6 1
104 7 1
105 1 2
106 2 2
107 3 2
108 4 2
109 5 2
120 1 3
121 2 3
122 4 3
123 6 3
124 7 3
以上表中 怎样通过sql取得不同ID下得分前三的userid
解决方案 »
- mysql5.5怎样关掉不需要的存储引擎以节省系统资源
- 一个GROUP BY的问题,在线等,急
- 求一个mysql数据库
- 表中所有字段占用的字节数超过8K就无法正常写入了是怎么回事?
- mysql-cluster 备份和恢复该如何做
- 如何将 my sql 数据转到 sql server
- 如何获取一个数据库中所有的表名呢?
- supplied argument is not a valid MySQL result resource可以联mysql w但是不能执行
- mysql中大家用什么类型代替boolean类型。
- delete授权后,却不能进行删除。
- SQLyog 怎么附加mysql数据
- MySQL当表数据量极大时[单张表800万条记录],如何提高查询及更新速度?
mysql> select id, userid, score from tscore a where 3 >(select count(*) from tscore b where b.id=a.id and b.score>a.score) order by a.id, score desc;
+------+--------+-------+
| id | userid | score |
+------+--------+-------+
| 1 | 104 | 7 |
| 1 | 103 | 6 |
| 1 | 102 | 5 |
| 2 | 109 | 5 |
| 2 | 108 | 4 |
| 2 | 107 | 3 |
| 3 | 124 | 7 |
| 3 | 123 | 6 |
| 3 | 122 | 4 |
+------+--------+-------+
9 rows in set (0.01 sec)
[征集]分组取最大N条记录方法征集,及散分....