您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在巨大的事件流中发现差距?

在巨大的事件流中发现差距?

您可以使用lag()window函数在分区上通过stream_id(由时间戳排序)来执行此操作。该lag()函数使您可以访问分区中的前几行;没有滞后值,它是前一行。因此,如果stream_id上的分区按时间排序,则上一行是该stream_id的上一个事件。

SELECT stream_id, lag(id) OVER pair AS start_id, id AS end_id,
       ("timestamp" - lag("timestamp") OVER pair) AS diff
FROM my_table
WHERE diff > interval '2 minutes'
WINDOW pair AS (PARTITION BY stream_id ORDER BY "timestamp");
其他 2022/1/1 18:46:29 有339人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶