【发布时间】:2014-11-15 21:42:16
【问题描述】:
我的游戏有一个排行榜,它通过来自 mySQl 数据库的 PHP 地图显示排名靠前的人;
SELECT name, time, MAX(score) as max_score
FROM leaderboards
WHERE name != '' AND hidden=0 AND map='" .$currMap. "' AND score > 0
GROUP BY name
ORDER BY score DESC, time ASC LIMIT ".($get_page*10).", 10
我正在分页 10 秒后网站上显示的结果。
那里有几个人有多个分数。他们的记录没有出现在他们应该在名单上的位置。相反,他们在最低分数的位置上显示得更远,但价值最高。所以它没有正确排序它们。
有什么建议吗?
【问题讨论】:
-
你试过
... ORDER BY MAX(score) DESC, time ASC ...吗? -
为这个 2900 分数的家伙做隐藏和映射属性是否可以(在查询中合格)?
-
@EugenRieck 我认为我们不能将聚合函数与 order by 一起使用