我有如下表(高分),MySQL的:获得最高分数用户
id gameid userid name score date
1 38 2345 A 100 2009-07-23 16:45:01
2 39 2345 A 500 2009-07-20 16:45:01
3 31 2345 A 100 2009-07-20 16:45:01
4 38 2345 A 200 2009-10-20 16:45:01
5 38 2345 A 50 2009-07-20 16:45:01
6 32 2345 A 120 2009-07-20 16:45:01
7 32 2345 A 100 2009-07-20 16:45:01
现在,在上述结构中,用户可以玩游戏多次,但我想显示“已赛“由特定用户。所以在玩游戏的部分,我无法展示多款游戏。所以这个概念应该就像用户玩过3次游戏一样,然后应该显示最高分的游戏。
我要像结果数据:
id gameid userid name score date
2 39 2345 A 500 2009-07-20 16:45:01
3 31 2345 A 100 2009-07-20 16:45:01
4 38 2345 A 200 2009-10-20 16:45:01
6 32 2345 A 120 2009-07-20 16:45:01
我尝试下面的查询,但它不是给我正确的结果:
SELECT id,
gameid,
userid,
date,
MAX(score) AS score
FROM highscores
WHERE userid='2345'
GROUP BY gameid
请告诉我这将是这样做的查询?
感谢
怎么样打破僵局的处理 - 当有2+记录相同的游戏和用户使用相同的高分?最近的日期? – 2009-11-04 05:22:36
@rexem:在这种情况下,它将返回2中的1条记录。 – Prashant 2009-11-04 05:46:00
@Prashant:是的,但是基于什么标准? – 2009-11-04 06:10:38