A menudo, este tipo de transformación se realiza mejor en la capa de aplicación, porque el conjunto de resultados no es "SQL-ish". Es decir, el orden es importante para comprender las filas.
Pero, puedes hacer esto 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;