我有一个MySQL数据库,其中有很多高分值的游戏。我想获得最高分值的“个人最佳”入场券。在MySQL中获取最大值的条目
我发现了一个我认为可以工作的解决方案,直到我在数据库中获得更多名称,然后它返回完全不同的结果。
我迄今为止代码:
SELECT name, score, date, version, mode, custom
FROM highscore
WHERE score =
(SELECT MAX(score)
FROM highscore
WHERE name = 'jonte' && gamename = 'game1')
对于很多价值,这实际上返回正确的值,例如:
JONTE 240 2014-04-28 02:52:33 1 0 2053
它好工作与几百项,有的用不同名。但是,当我添加新条目并将名称换成'gabbes'时,对于新名称,我会得到多个条目的列表。我没有看到这里的逻辑,因为数据库中的条目看起来与数据中的某些差异完全相同。
JONTE 176 2014-04-28 11:03:46 1 0 63
GABBES 176 2014-04-28 11:09:12 1 0 3087
上面有两个条目,但有时它也可能会返回连续10-20个条目。
任何帮助?
考虑提供适当的DDL(和/或sqlfiddle)与期望的结果集合在一起。 – Strawberry
那么,你的桌子可以有多个条目,其分数等于最大值。这种情况下你想要的输出是什么? – Guneli