通过比较两列来识别不同的数据

时间:2018-08-30 17:31:42

标签: db2

我有一个如下所述的表格:

column1 | column2 | column3
--------|---------|--------
E1      | AA12345 | 12345
E2      | BB12345 | 12345
E3      | CC12345 | 12345
E4      | CC12345 | 12345
E5      | DD12345 | 12345

我需要在column3中具有相同值但在column2中具有不同值并且应该超过1行的行。

可以帮忙吗?

预期结果:应选择E1和E2行

enter image description here

1 个答案:

答案 0 :(得分:0)

怎么样:

select * from my_table where (column3, column2) in (
  select column3, column2 from my_table 
    group by column3, column2 
    having count(*) = 1
  );

此查询将选择E1,E2和E5。因为它是重复的,所以不会选择E3,E4。