我在一个表中有三列(代码,代码alt和产品)。代码列具有重复数据。我想在不重复代码列的情况下保留所有结果。我试着用这个
Select code, code alt, product from table
where code in
(
select code from table
group by code
having count (code)=1
)
但不会出现所有结果。
由于
答案 0 :(得分:0)
如果您只想使用具有相同代码的一堆行中的特定代码留下一行,则需要确定要从多行中选择哪一行。
您需要一些标准,通过这些标准,您可以使用相同的代码对行进行排名,并通过更高(例如)排名值从中选择一个。下面的脚本只留下一个 - 随机 - 行与特定代码。
这只是一个示例,向您展示了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