是的,有很多类似的问题,但我真的无法解决我的问题。不幸的是,我没有足够的知识来理解类似问题的答案来解决我的问题^^。
我有id,名字,分数,ip变量。我不关心id或ip变量..
我的查询是这样的;
$query = "SELECT * FROM highscores ORDER BY score + 0 DESC LIMIT 10";
$result = mysql_query($query);
这给出了高分表,但是有相同的用户不同的分数。我希望每位用户获得最高分。
我甚至不知道为什么我的代码上有+ 0。如果我删除它,为什么表格不会显示为desc。
答案 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";
这应该允许您在没有零的情况下运行查询。
至于从列表中删除重复的用户分数,要么仅记录每个用户的最佳分数,要么进行一些进一步处理以从列表中删除它们。循环结果并且仅选择每个用户的最高分数将非常简单。