Muitas vezes, esse tipo de transformação é melhor feito na camada de aplicação, porque o conjunto de resultados não é "SQL-ish". Ou seja, a ordenação é importante para entender as linhas.
Mas, você pode fazer isso como:
select (case when row_number() over (partition by ProductCode order by (select NULL)) = 1
then ProductCode
end) as ProductCode
Color
from Product
order by ProductCode;