当前位置: 首页 > article >正文

SQL面试题——蚂蚁SQL面试题 会话分组问题

会话分组问题

这里的分组不是简单的分组,而是会话的分组。

比如说,进入一个网站以后,可以连续的点击很多个页面,后台会记录用户的行为日志;

如果T日上午连续点击几个页面后退出了网站,直到第二天的下午才再次进入网站,单单从时间线上来看,昨天退出的那条日志跟今天进入的那条日志是连在一起的,但这两条数据实际上并不是一个会话产生的,如果需要对这样的数据进行分组,将其分在两个不同的会话当中,应该怎么做呢?组与组之间的时间间隔应该是多少呢?

至于是多少得看具体的业务需求了,多年以前我也写过一个关于会话分析的文章,感兴趣的可以看看数仓工具—Hive实战之会话分析可以看看当时的思路和现在的有什么不同呀

当然今天我们的重点在会话分组的实现上,没有很多业务的细节,这里我们假设时间超过1分钟则进入另外一个回话。

我们的数据如下

+----+----------+
|  id|        ts|
+----+----------+
|1001|1720828123|
|1001|1720828125|
|1001|1720828127|
|1001|1720828143|
|1001|1720828153|
|1001|1720828168|
|1001|1720829168|
|1001|1720829198|
|1001|17208

http://www.kler.cn/a/393936.html

相关文章:

  • 〔 MySQL 〕数据类型
  • 【FFmpeg】FFmpeg 函数简介 ③ ( 编解码相关函数 | FFmpeg 源码地址 | FFmpeg 解码器相关 结构体 和 函数 )
  • 【QT常用技术讲解】优化网络链接不上导致qt、qml界面卡顿的问题
  • vue2+ element ui 集成pdfjs-dist
  • kafka消费数据太慢了,给优化下
  • 开源 2 + 1 链动模式、AI 智能名片、S2B2C 商城小程序在用户留存与品牌发展中的应用研究
  • 【C语言】指针数组和数组指针的区别
  • 【MinIO】Python 运用 MinIO 实现简易文件系统
  • 【MySQL基础刷题】总结题型(三)
  • 前端入门一之ES6--递归、浅拷贝与深拷贝、正则表达式、es6、解构赋值、箭头函数、剩余参数、String、Set
  • 乐维网管平台(六):如何正确管理设备端口
  • 矩阵中的路径(dfs)-acwing
  • spring boot项目打成war包部署
  • 重构代码之用多态替代条件逻辑
  • 设计模式设计模式
  • 释放 PWA 的力量:2024 年的现代Web应用|React + TypeScript 示例
  • HarmonyOS App 购物助手工具的开发与设计
  • 曹操为什么总是亲征
  • 【杂记】之语法学习第四课手写函数与结构体
  • 人脸识别技术:从算法到深度学习的全面解析
  • 38.安卓逆向-壳-smali语法2(条件语句和for循环)
  • 前端Vue项目启动报错,出现spawn cmd ENOENT的原因以及解决方案
  • Springboot+thymeleaf结合Vue,通过thymeleaf给vue赋值解决Vue的SEO问题
  • 2024/11/13 英语每日一段
  • RabbitMQ的工作队列在Spring Boot中实现(详解常⽤的⼯作模式)
  • 攻防世界37-unseping-CTFWeb