MySQL: Selecione na tabela apenas um resultado por nome de usuário

0

Eu tenho uma tabela com resultados de teste, que é composta desta forma:

+-----------------------+
| id | score | username |
+-----------------------+
| 1  |    15 |     mike |
| 2  |    23 |     tom  |
| 3  |    16 |     mike |

etc..

Eu quero selecionar apenas um resultado para cada nome de usuário, mas aquele com a maior pontuação.

A saída deve ser assim:

Mike: 16
Tom:  23

Como fazer isso?

    
por Northumber 30.10.2016 / 16:22

1 resposta

0

Você pode usar uma cláusula group by para obter apenas um resultado por usuário. Por exemplo:

SELECT     username, MAX(score)
FROM       results
GROUP BY   username
ORDER BY 2 DESC
    
por 19.12.2016 / 23:32

Tags