我有一张包含测试结果的表格,其组成如下:
+-----------------------+
| id | score | username |
+-----------------------+
| 1 | 15 | mike |
| 2 | 23 | tom |
| 3 | 16 | mike |
etc..
我只想为每个用户名选择一个结果,但选择得分最高的结果。
输出应该是这样的:
Mike: 16
Tom: 23
如何做?
答案1
您可以使用group by
子句为每个用户仅获取一个结果。例如:
SELECT username, MAX(score)
FROM results
GROUP BY username
ORDER BY 2 DESC