2
说,我想创建一个表像下:如何根据另一列的值做出排名列?
user score rank
a 100 2
b 200 1
c 50 3
d 50 3
究竟如何创建一个rank
列在它与记录与score
新条目更新?
说,我想创建一个表像下:如何根据另一列的值做出排名列?
user score rank
a 100 2
b 200 1
c 50 3
d 50 3
究竟如何创建一个rank
列在它与记录与score
新条目更新?
对于一个小桌子,最简单的方法是相关子查询:
select t.*,
(select 1 + count(*)
from t t2
where t2.score > t.score
) as rank
from t
order by score desc;
注:此实现了“排名”按大多数的数据库提供的rank()
窗口功能。
可能的重复[排序功能在MySQL中与秩序子句](http://stackoverflow.com/questions/10881990/rank-function-in-mysql-with-order-by-clause) – lad2025
通常,你wouldn 't将此存储在数据库中 – Strawberry
@Strawberry我该怎么做呢? – Bango