从3列表中选择所有记录,其中2个特定列中存在重复

时间:2016-11-28 14:54:17

标签: sql sql-server duplicates

假设我在SQL Server(tbl1)中有以下表:

Num     Zip     Rating
1       75235   100
2       77234   50
3       77234   100
4       77234   100
5       77234   100
6       75235   75
7       76076   25
8       76076   25 
9       76076   50
10      75234   25
11      75234   50
12      75234   50

我想选择Zip和Rating列合并的所有行都有重复的行。在这种情况下,那将是第3,4,5,7,8,11和12行。我该怎么做?

2 个答案:

答案 0 :(得分:0)

base::match(TRUE, event)

答案 1 :(得分:0)

查找具有至少一个具有所有相等值的完全重复的所有行,但Num列应该不同:

SELECT *
FROM tbl1 T1
WHERE EXISTS (
    SELECT 1
    FROM tbl1 T2
    WHERE T2.Zip    = T1.Zip
    AND   T2.Rating = T1.Rating
    AND   T2.Num   <> T1.Num
)