我有以下查询
SELECT COUNT(points) AS pos FROM xxx WHERE `points` >= '".$result->points."'
因此它选择一个条目的位置。当2个条目具有相同的点时,会出现问题。假设有4个条目。它数为1,2,4,4,5(但我想要1,2,3,3,5,我觉得这更有意义)。有谁能告诉我如何实现这个目标?
答案 0 :(得分:1)
您的查询;
"SELECT COUNT(points) AS pos FROM xxx WHERE `points` >= '".$result->points."'"
将计算有多少用户拥有至少一个点数,这些点总是将用户视为具有相同点数的用户的最后位置。
如果您计算有多少用户拥有更多点并添加一个,那么您将把用户视为同一点中的第一个用户;
"SELECT 1 + COUNT(points) AS pos FROM xxx WHERE `points` > '".$result->points."'"