У меня есть таблица с результатами теста, которая составлена таким образом:

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

etc..

Я хочу выбрать только один результат для каждого имени пользователя, но тот, который набрал наибольшее количество очков.

Вывод должен быть таким:

Mike: 16
Tom:  23

Как это сделать?

1 ответ1

0

Вы можете использовать предложение group by , чтобы получить только один результат для каждого пользователя. Например:

SELECT     username, MAX(score)
FROM       results
GROUP BY   username
ORDER BY 2 DESC

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .