我在一张表中有三列(代码、代码 alt 和产品)。代码列有重复数据。我想保留所有结果而不重复代码列。我试试这个
Select code, code alt, product from table
where code in
(
select code from table
group by code
having count (code)=1
)
但不会出现所有结果。
谢谢
如果您只想保留一行具有相同代码的行中的特定代码,则需要确定要离开多行中的哪一行。
您需要一些标准,您可以通过这些标准对具有相同代码的行进行排名,并通过更高(例如)排名值从中选择一个。下面的脚本将只留下一个带有特定代码的随机行。
这只是一个示例,向您展示了这个想法,它适用于 SQL Server - 因为您没有指出您的 DBMS
with [src] as (
select code, [code alt], product, rank() over(partition by code order by newid()) [rank]
from [table])
select * from [src] where [rank] = 1