[英]in sql, how to make a rank column based on the value of another column?
说我想创建一个如下表:
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()
窗口函数实现了“排名”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.