如何显示 3 个字段匹配的记录

How to show records were 3 fields match

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

TABLE:

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:

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