Mysql 从数据库中获取唯一结果

Mysql 从数据库中获取唯一结果,mysql,unique,Mysql,Unique,我有一个包含以下列的表 身份证、姓名、分数 有行的 1, JohnDoe, 1200 2, JohnDoe, 1600 3, Mickey, 1100 基本上,每次玩游戏后,分数都会被插入数据库 最终,当我展示最高分的时候,我只想从某个球员那里得到最好的结果。在这种情况下,我想得到约翰多的1600分,然后是米奇的1100分,但不是约翰多的1200分,因为这比他最高的分数低 我怎么能这样做 select name,max(score) from table_name group by name

我有一个包含以下列的表

身份证、姓名、分数

有行的

1, JohnDoe, 1200
2, JohnDoe, 1600
3, Mickey, 1100
基本上,每次玩游戏后,分数都会被插入数据库

最终,当我展示最高分的时候,我只想从某个球员那里得到最好的结果。在这种情况下,我想得到约翰多的1600分,然后是米奇的1100分,但不是约翰多的1200分,因为这比他最高的分数低

我怎么能这样做

select name,max(score)
from table_name
group by name


您需要按姓名分组,然后获得每个姓名的最高分数。

SELECT name, MAX(score) AS "High Score"
FROM ScoreTable
GROUP BY name;
给定您的表格
ScoreTable

1, JohnDoe, 1200
2, JohnDoe, 1600
3, Mickey, 1100
上述查询将返回:

      Name | High Score
   JohnDoe | 1600
    Mickey | 1100
您可能还希望按高分排序,在米奇之前显示约翰多(首先显示最高分):

您可以在中签出它。

在数据库中使用聚合
选择名称,最大值(分数)
从…起
按名称分组;
      Name | High Score
   JohnDoe | 1600
    Mickey | 1100
SELECT name, MAX(score) AS "High Score"
FROM ScoreTable
GROUP BY name
ORDER BY "High Score" DESC;
SELECT name, MAX(score)
FROM <your_table_name>
GROUP BY name;