首页 > 解决方案 > 如果记录是子字符串并且在时间间隔内,则查询折叠记录

问题描述

我有以下事件数据:

events table

event_id | timestamp         | label
--------------------------------------------------
1        |2021-11-15 10:23:54| so
1        |2021-11-15 10:24:30| software
2        |2021-11-15 10:24:54| software Engineer
3        |2021-11-15 10:23:54| test
3        |2021-11-15 10:24:31| test eng
3        |2021-11-15 10:24:54| test Engineer
2        |2021-11-16 10:26:54| software Engineer and Test

我想将此结果集折叠为以下结果集。

Result:

event_id | timestamp         | label
----------------------------------------------------------
2        |2021-11-15 10:24:54| software Engineer
3        |2021-11-15 10:24:31| test Engineer
2        |2021-11-16 10:26:54| software Engineer and Test

基本上,我想删除所有记录,这些记录是未来时间戳中任何记录的子字符串,并且在不到 3 分钟的间隔内发生。

在上面的示例中: soandsoftware被删除,因为software Engineer在后面的时间戳中看到,它在 3 分钟的间隔内。

event_id不一定总是相同的。

使用查询可以做到这一点吗?

我知道使用程序/脚本很容易做到。不过,我想知道如何使用查询来完成。

标签: sqlpostgresqlamazon-redshiftpostgresql-8.0

解决方案


推荐阅读