我向您展示了我需要的示例。
包含这些列和数据的表格例如:
id | mapname | username | score
----|-----------|-----------|--------
1 | mid_town | carolina | 5
2 | mid_town | rupert | 10
3 | id_room | carolina | 7
4 | mid_town | mordor | 14
5 | id_room | intel | 12
6 | id_room | puyol | 21
7 | pindle | puyol | 17
8 | pindle | messi | 28
9 | mid_town | puyol | 24
n | unknown | unknown | unknown
我需要从 mapname
order by score
desc 中找到最好的,但我不知道所有 map 名称。
所以,在这种情况下,
来自 mid_town
的最佳球员是 puyol,得分为 24,
id_room
中最好的是 puyol,得分为 21,
pindle
中最好的是梅西,得分为 28。
输出:
puyol 2
messi 1
如何在单个查询中转换它?
最佳答案
试试这个:
select username, score from `table` where (mapname,score) in (select mapname, max(score) from `table` group by mapname)
关于mysql - 从 map 和计数中获得最佳结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30366390/