Sql 如何删除日期过近的记录?
我有一个红移表,我想删除时间戳太近的记录 对于下表,我想删除第3行和第4行,因为日期接近第1行,其他字段相同Sql 如何删除日期过近的记录?,sql,amazon-redshift,sql-delete,Sql,Amazon Redshift,Sql Delete,我有一个红移表,我想删除时间戳太近的记录 对于下表,我想删除第3行和第4行,因为日期接近第1行,其他字段相同 col1 | col2 | col3 -------------------------- 1 02:23 4 51 02:23 29 1 02:22 4 1 02:24 4 1 19:57 4 嗯。您可以使用铅: 多近才算太近?如果两行
col1 | col2 | col3
--------------------------
1 02:23 4
51 02:23 29
1 02:22 4
1 02:24 4
1 19:57 4
嗯。您可以使用铅:
多近才算太近?如果两行太近,应该保留哪一行?太近是+-5分钟。我不在乎保留哪一条记录,但不是全部删除
select t.*
from (select t.*,
lead(col2) over (partition by col1, col3 over order by col2) as next_col2
from t
) t
where next_col2 is null or
next_col2 < col2 + interval '1 hour'. -- or whatever your cutoff is