小编典典

如果重复,则用空字符串替换行值

sql

如果发现重复的值,是否可以用空字符串替换行值?

例如

SELECT ProductCode, Color FROM Product

--------------------
ProductCode | Color
--------------------
   00A0B    |  Red
   00A0B    |  Blue
   00A0C    |  Red
   00A0C    |  Black
   00A0C    |  White
--------------------

--------------------
ProductCode | Color
--------------------
   00A0B    |  Red
            |  Blue
   00A0C    |  Red
            |  Black
            |  White
--------------------

我正在使用SQL Server 2012。


阅读 211

收藏
2021-05-05

共1个答案

小编典典

通常,这种类型的转换最好在应用程序层完成,因为结果集不是“ SQL ish”的。也就是说,排序对于理解行很重要。

但是,您可以这样做:

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;
2021-05-05