数据库有表persons
:
id int
points int
voted_on int
other columns
我想知道带有id
x 的行具有哪个行排名,具有相同点的行具有相同的行排名。这个查询工作得很好而且很快:(但如果你知道更好的,请告诉我:)
select count(*)
from persons p cross join
(select points from persons p where p.id = x) const
where p.points > const.points;
但现在我想升级查询,即投票数较少但得分相同的人比投票数较多的人具有更好的行排名。但是,具有相同点数和 voted_on 的人应该具有相同的行排名。