Често този тип трансформация е по-добре да се направи на приложния слой, тъй като наборът от резултати не е "SQL-подобен". Тоест подреждането е важно за разбирането на редовете.
Но можете да направите това като:
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;