<分区>
我有一个非常简单的sql表(SCORES),只有一个表,没有JOIN:
userid score date
|1 1 2017-09-31
|1 1 2017-10-01
|2 2 2017-10-01
|1 2 2017-10-02
|2 2 2017-10-02
|3 1 2017-10-02
我想在给定的一天选择得分最高的用户id,所以
在 2017-09-31 ,它应该返回 userid 1
在 2017-10-01 ,它应该返回 userid 2(因为分数更高)
在 2017 年 10 月 2 日,它将返回用户 ID 1 和 2(因为两个分数都是 2)
我试过这个 mysql 但没有正常工作:
SELECT user_id, MAX(score) AS hiscore, date
FROM scores
WHERE date =:date
GROUP BY user_id
ORDER BY hiscore DESC
我得到这个:
2017-09-31 返回 userid 1(正确)
于 2017 年 10 月 1 日。返回userid 1和userid 2以及他们当天的最高分,这不是我想要的
知道如何解决吗?