Data explorer 组报告 - 参数错误

作为艾萨克(Isaac)查看此内容时的一个有趣的额外提示,您还可以使用 user_id 参数来获取一个炫酷的自动完成参数框。例如:

-- [params]
-- user_id :user
-- int :min_days = 10

WITH consecutive_visits AS (
  SELECT user_id,
       visited_at,
       -- s 的值对于连续几天的一组将是相同的
       visited_at - (DENSE_RANK() OVER (PARTITION BY user_id ORDER BY visited_at))::int s
    FROM user_visits
    WHERE user_id = :user
)

SELECT
MIN(visited_at) period_start,
COUNT(*) AS consecutive_days,
MAX(visited_at) period_end
FROM consecutive_visits
GROUP BY user_id, s
HAVING COUNT(*) >= :min_days
ORDER BY period_start DESC

5 个赞