Недавно из-за проблемы в базу данных были вставлены несколько повторяющихся транзакций в разные моменты времени. Нужно найти эти дубликаты транзакций и удалить их.
Я попытался сгруппировать участников и транзакции
select count(*),
member_id,
TRUNC(created, 'DDD')
from TXN
where created > TO_DATE('06/01/2019 00:00:00', 'MM/DD/YYYY HH24:MI:SS')
group by member_id,
TRUNC(created, 'DDD')
having count(*) > 2;
Мне нужны все транзакции, созданные за 10 минут для одного и того же участника.
Примеры:
MEMBER_ID ROW_ID ORG DEST Created
1-FRGD 1-FGTH YFG DFG 10-01-2019 00:00:00:00
1-FRGD 1-TYHG THU SEF 10-01-2019 00:00:09:12
1-FGHR 1-FTGH TGH DRF 10-01-2019 00:01:03:25
В этом примере мне нужны первые два txns в качестве выходных данных из-за не более 10 минут, если разница во времени и один и тот же номер члена