Вам нужно повторить year()
в group by
:
select Year(SaleDate) AS SaleYear, Max(SalePrice)
from Sale
group by year(SaleDate);
SELECT DISTINCT
с GROUP BY
почти никогда не правильно.Все, что делает ваш запрос, агрегируется по SaleDate
и в наборе результатов , чтобы извлечь год.Вот почему вы видите дубликаты.