如何显示记录是3场匹配

时间:2015-06-03 20:10:47

标签: sql teradata

我正在尝试编写一个查询,当3个特定字段相同但未知时,将列出表中的列:

表格

FIELD 1  |   FIELD 2    |  FIELD 3   |   FIELD 4
---------|--------------|------------|---------------
  1      |   01-01-15   |    21      |     150
  1      |   01-01-15   |    24      |      12
  1      |   02-01-15   |    21      |     681
  1      |   01-01-15   |    21      |     299

期望的结果:

    FIELD 1  |   FIELD 2    |  FIELD 3    |   FIELD 4
-------------|--------------|-------------|------------
      1      |   01-01-15   |    21       |     150
      1      |   01-01-15   |    21       |     299

抱歉 - 这里还是个新手!提前谢谢!

1 个答案:

答案 0 :(得分:3)

计算具有相同组合的行数并过滤计数> 1:

select *
from tab
qualify 
   count(*) 
   over (partition by field1, field2, field3) > 1