SQL 刷题/会话划分:Session 切割分析
上一题下一题困难通过率 9%

会话划分:Session 切割分析

窗口函数CASE WHEN日期函数用户行为分析路径分析

题目描述

给定一张 page_views 表,记录用户浏览页面的日志:

  • id: 记录ID
  • user_id: 用户ID
  • page: 页面名称
  • view_time: 浏览时间(格式: YYYY-MM-DD HH:MM:SS)

会话(Session)定义:同一用户两次浏览之间间隔超过 30 分钟则视为新的会话。请计算每个用户的每个会话的页面浏览数、会话开始时间和结束时间。

期望输出列

列名说明
user_id用户ID
session_id会话序号
page_count页面浏览数
session_start会话开始时间
session_end会话结束时间

数据样例

当前运行环境
idPKINTEGERuser_idINTEGERpageTEXTview_timeTEXT
11首页2024-03-01 09:00:00
21列表页2024-03-01 09:05:00
31详情页2024-03-01 09:12:00
41首页2024-03-01 10:00:00
51搜索页2024-03-01 10:10:00
62首页2024-03-01 14:00:00
72列表页2024-03-01 14:20:00
82详情页2024-03-01 14:25:00
输入数据显示 8 / 11
SQL 编辑器正在保存草稿...
正在加载 SQL 编辑器...

运行你的 SQL 查询后,结果将显示在这里