Вы используете group by
вместо distinct
:
select name, surname, group, max(year)
from TheTable
group by name, surname, group
Результат:
name surname group year
JOHN RED 29 2012
ANNE REDS 128 2011
MATT RED 88 2011
JOHN REDMOND 29 2010
CARL RED 36 2009
MANUEL RED 36 2009
JOHN RED 31 2009
Я не включил поле id
, так как вы не указали, какое значение вы хотите для каждой отдельной строки. Например, если вам нужен самый высокий идентификатор, вы можете использовать max(id)
, чтобы включить его в результат.
Вы можете включить поле id
в список, и MySQL включит его в результат, но результат для этого поля не предсказуем. Некоторые другие базы данных, такие как MS SQL Server, не позволят вам включить его в результат без использования агрегата, например, max
.