多くの場合、このタイプの変換は、結果セットが「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;