首页 > 解决方案 > 日志中活动变化时的时间差

问题描述

有带有用户日志的表日志

在此处输入图像描述

需要找到每个用户的动作变化时间(从 0 到 1)。每个人都可以多次改变动作。

我尝试使用neighbor()作为日期时间,但结果很奇怪,它忽略了 user_id 的变化。

SELECT user_id,
   diff_time
FROM (
    SELECT user_id,
           actions,
           datetime,
           neighbor(server_dt, -1, server_dt) as prev_time,
           dateDiff('second', prev_time, server_dt) as diff_time
    FROM logs
    WHERE actions = 1
)

结果,我想得到类似这张桌子的东西

在此处输入图像描述

标签: sqldatetimeclickhouse

解决方案


推荐阅读