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

Redshift:如何统计用户每次访问中首次浏览的页面数量?

解决方法:统计用户每次访问的新页面数量

步骤1:标记每个页面的首次访问批次

先基于你的first_date表,给每个用户的每个页面标记其首次被访问时的denserank(即该页面第一次出现在用户访问记录里的批次),用窗口函数就能快速实现:

WITH first_page_access AS (
    SELECT 
        id,
        text,
        denserank,
        -- 标记当前页面首次被该用户访问的批次
        MIN(denserank) OVER (PARTITION BY id, text) AS first_access_rank
    FROM first_date
)

步骤2:统计每个批次的新页面数

筛选出当前批次等于首次访问批次的记录,再按id和denserank分组计数,就能得到该批次中用户首次访问的页面数量:

SELECT 
    id,
    denserank,
    COUNT(DISTINCT text) AS new_page_count
FROM first_page_access
WHERE denserank = first_access_rank
GROUP BY id, denserank
ORDER BY id, denserank;

补充说明

  • 这个方案无需编写复杂的WHERE或CASE分支,仅通过一次窗口函数标记+简单筛选分组即可完成,逻辑清晰且性能高效。
  • 使用COUNT(DISTINCT text)是为了规避同一批次内用户重复访问同一页面的情况;如果你的业务场景中同一批次不会出现重复访问同一页面的情况,也可以直接替换为COUNT(text)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 08:32:38