如何在SQL中删除重复的结果

时间:2017-02-09 14:52:28

标签: sql sql-server

我有下面的表,其中有两列是由SQL中的查询生成的:

Lookup Value  Result
1             2
2             1
4             3
3             4

如您所见,它包含重复的结果。我只希望它显示第一行和第三行。有谁知道如何在SQL中执行此操作?

由于

3 个答案:

答案 0 :(得分:2)

有几种方法。这是一个使用union all

的人
select t.*
from t
where col1 < col2
union all
select t1.*
from t1
where col1 > col2 and
      not exists (select 1 from t t2 where t1.col1 = t2.col2 and t1.col2 = t2.col1);

如果你总是知道两个对都存在(如你的样本数据),你可以使用:

select t.*
from t
where col1 < col2;

答案 1 :(得分:1)

SELECT DISTINCT 
       CASE WHEN Lookup Value  < Result
            THEN Lookup Value
            ELSE Result
       END as first,
       CASE WHEN Lookup Value  < Result
            THEN Result
            ELSE Lookup Value
       END as second
FROM YourTable

答案 2 :(得分:0)

Create Table T (
[Lookup Value] int,
Result int
)

Insert into T values (1,2),(2,1),(4,3),(3,4)

Select distinct T.[Lookup Value], T.Result
From T
where T.[Lookup Value]<=T.Result