You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写SQL查询筛选无中间页面的bounce来回跳转场景URL

解决方案

你现有查询已经完成了同一用户往返路径的匹配,仅需新增NOT EXISTS子句,过滤V1和V2两次访问时间区间内的其他访问记录即可,修改后的查询如下:

SELECT DISTINCT V1.url AS bounce_url
FROM Visit V1
JOIN Visit V2 
  ON V1.uid = V2.uid
  AND V1.url = V2.src 
  AND V1.src = V2.url
  AND V1.dt < V2.dt
WHERE NOT EXISTS (
  SELECT 1 
  FROM Visit V3
  WHERE V3.uid = V1.uid
    AND V3.dt > V1.dt
    AND V3.dt < V2.dt
)
  • 新增的NOT EXISTS子句逻辑:检查同一个用户,在V1的访问时间和V2的访问时间之间,是否存在其他访问记录,如果存在则当前匹配的往返路径不符合要求,会被过滤
  • 如果你存储的日期仅精确到天、同一天内有多条访问记录,可以额外用你表中的rev字段(样例中该字段随访问顺序递增)补充判断顺序,子查询修改为:
SELECT 1 
FROM Visit V3
WHERE V3.uid = V1.uid
  AND (
    V3.dt > V1.dt 
    OR (V3.dt = V1.dt AND V3.rev > V1.rev)
  )
  AND (
    V3.dt < V2.dt
    OR (V3.dt = V2.dt AND V3.rev < V2.rev)
  )
  • 用你提供的样例数据验证:V1为1890-05-14的A01→A04记录,V2为1890-05-16的A04→A01记录,中间存在1890-05-15的A02访问记录,会被NOT EXISTS过滤,不会返回结果,符合预期。

内容的提问来源于stack exchange,提问作者Killua87

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 04:45:08