你可以尝试这样的事情:
with w_data as (
select 1 event_id, 1.01 event_rank, 12345 c_procedure, 'AA' modifier from dual union all
select 1 event_id, 1.02 event_rank, 12345 c_procedure, 'AB' modifier from dual union all
select 1 event_id, 1.03 event_rank, 67890 c_procedure, 'ZZ' modifier from dual union all
select 2 event_id, 2.01 event_rank, 12345 c_procedure, 'AA' modifier from dual union all
select 2 event_id, 2.02 event_rank, 67890 c_procedure, 'ZZ' modifier from dual
)
Select event_id, event_rank, c_procedure, modifier
from (
select event_id, event_rank, c_procedure, modifier,
count(*) over (partition by event_id, c_procedure) dup_chk
from w_data
)
where dup_chk > 1
/
EVENT_ID EVENT_RANK C_PROCEDURE MO
---------- ---------- ----------- --
1 1.01 12345 AA
1 1.02 12345 AB
2 rows selected.
完美!它给了我正在寻找的确切结果。 – TonyVan