【转】MySQL实现Oracle里的 rank()over(ORDER BY) 功能

标签:
mysqlit |
分类: IT |
由于MySQL没有Oracle里一样的rank()over()函数,所以我们只能使用SQL语句利用变量来实现这个功能。在此非常感谢 http://hudingchen.iteye.com/ 他的帮助。
例如我有一张表 表名为 A:
ID
SCORE
1
28
2
33
3
33
4
89
5
99
6
68
7
68
8
78
9
88
10
90
现在我需要如下结果:
ID
SCORE
RANK
5
99
1
10
90
2
4
89
3
9
88
4
8
78
5
6
68
6
7
68
7
2
33
8
3
33
9
1
例如我有一张表 表名为 A:
ID
1
2
3
4
5
6
7
8
9
10
现在我需要如下结果:
ID
5
10
4
9
8
6
7
2
3
1