高分表 - 如何获得每位用户的最高分?

时间:2011-12-16 01:04:48

标签: mysql

是的,有很多类似的问题,但我真的无法解决我的问题。不幸的是,我没有足够的知识来理解类似问题的答案来解决我的问题^^。

我有id,名字,分数,ip变量。我不关心id或ip变量..

我的查询是这样的;

$query = "SELECT * FROM highscores ORDER BY score + 0 DESC LIMIT 10"; $result = mysql_query($query);

这给出了高分表,但是有相同的用户不同的分数。我希望每位用户获得最高分。

我甚至不知道为什么我的代码上有+ 0。如果我删除它,为什么表格不会显示为desc。

2 个答案:

答案 0 :(得分:3)

以下查询将为您提供每位球员的名字及其最佳得分:

SELECT name, MAX(score) FROM highscores GROUP BY name ORDER BY MAX(score) DESC LIMIT 10

答案 1 :(得分:0)

$query = "SELECT * FROM highscores ORDER BY ABS(score) DESC LIMIT 10";

这应该允许您在没有零的情况下运行查询。

至于从列表中删除重复的用户分数,要么仅记录每个用户的最佳分数,要么进行一些进一步处理以从列表中删除它们。循环结果并且仅选择每个用户的最高分数将非常简单。