我正在制作一个排名应用程序,并以这种方式获得用户在排名中的位置:
$sql = "SELECT fk_player_id FROM ".$prefix."_publicpoints
WHERE date BETWEEN '2013-01-01' AND '2013-12-31'
GROUP BY fk_player_id
HAVING SUM(points) > 235";
这是按原样工作的,但有一个失败。如果我的排名有 500.000 个用户,那么查询会变得非常繁重。然后它必须遍历所有得分高于 235 的用户。假设 235 给出的位置为# 345.879。那是很多行......我怎样才能以更好的方式做到这一点?至少当我打电话给分贝?
希望提前4个帮助和感谢:-)