我有这张简单的玩家表
id | name | score | place
我想知道是否有一个查询可以让我按score
对玩家进行排序并根据顺序更新place
。
最佳答案
您可以使用 update
执行此操作,假设 id
在每一行中都是唯一的:
update players
set place = p.new_place
from (select p.*, row_number() over (order by score) as new_place
from players p
) p
where players.id = p.id;
关于sql - 查询将订单存储为 postgresql 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44242142/