Cześć,
Mam tabelę z trzema polami ID, UserID oraz TMSTMP:
ID USERID TMSTMP
1 1 '2018-10-01 20:00:49'
2 1 '2018-10-01 20:00:51'
3 1 '2018-10-01 20:00:53'
4 2 '2018-10-01 20:00:49'
5 2 '2018-10-01 20:00:51'
Chciałbym usunąć duplikaty ale zastanawiam się jak dodatkowo dodać warunek różnicy w czasie między wpisami. Załóżmy, że chciałbym usunąć te rekordy dla których różnice między ostatnim a pierwszym wpisem wynoszą np. 5 sekund, pogrupowane po user_id. Na powyższym przykładzie po usunięciu w tabeli powinny zostać tylko wpisy o ID 1 i 2. Na razie mam zapytanie bez ograniczania TMSTMP:
DElETE FROM TABLE1
WHERE id IN (SELECT id
FROM (SELECT id,
ROW_NUMBER() OVER (partition BY USERID
ORDER BY id) AS rnum
FROM TABLE1
) t
WHERE t.rnum > 1);
Z góry dzięki za pomoc! :)