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

在哪些网站可以做企业名称预审网站建设安全措施

在哪些网站可以做企业名称预审,网站建设安全措施,白云区建网站,seo网络培训学校目录 1 题目2 建表语句3 题解 1 题目 有一份用户访问记录表,记录用户id和访问时间,如果用户访问时间间隔小于60s则认为时一次浏览,请合并用户的浏览行为。 样例数据 ------------------------ | user_id | access_time | ---------------…

目录

  • 1 题目
  • 2 建表语句
  • 3 题解

1 题目


有一份用户访问记录表,记录用户id和访问时间,如果用户访问时间间隔小于60s则认为时一次浏览,请合并用户的浏览行为。

样例数据

+----------+--------------+
| user_id  | access_time  |
+----------+--------------+
| 1        | 1736337600   |
| 1        | 1736337660   |
| 2        | 1736337670   |
| 1        | 1736337710   |
| 3        | 1736337715   |
| 2        | 1736337750   |
| 1        | 1736337760   |
| 3        | 1736337820   |
| 2        | 1736337850   |
| 1        | 1736337910   |
+----------+--------------+

2 建表语句


--建表语句
CREATE TABLE user_access_log (user_id INT,access_time BIGINT
) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
--插入数据
insert into user_access_log (user_id,access_time)
values
(1,1736337600),
(1,1736337660),
(2,1736337670),
(1,1736337710),
(3,1736337715),
(2,1736337750),
(1,1736337760),
(3,1736337820),
(2,1736337850),
(1,1736337910);

3 题解


(1)分用户计算出每次点击时间差;

select user_id,access_time,last_access_time,access_time - last_access_time as time_diff
from (select user_id,access_time,lag(access_time) over (partition by user_id order by access_time) as last_access_timefrom user_access_log) t

执行结果

+----------+--------------+-------------------+------------+
| user_id  | access_time  | last_access_time  | time_diff  |
+----------+--------------+-------------------+------------+
| 1        | 1736337600   | NULL              | NULL       |
| 1        | 1736337660   | 1736337600        | 60         |
| 1        | 1736337710   | 1736337660        | 50         |
| 1        | 1736337760   | 1736337710        | 50         |
| 1        | 1736337910   | 1736337760        | 150        |
| 2        | 1736337670   | NULL              | NULL       |
| 2        | 1736337750   | 1736337670        | 80         |
| 2        | 1736337850   | 1736337750        | 100        |
| 3        | 1736337715   | NULL              | NULL       |
| 3        | 1736337820   | 1736337715        | 105        |
+----------+--------------+-------------------+------------+

(2)确认是否是新的访问

select user_id,access_time,last_access_time,if(access_time - last_access_time >= 60, 1, 0) as is_new_group
from (select user_id,access_time,lag(access_time) over (partition by user_id order by access_time) as last_access_timefrom user_access_log) t

执行结果

+----------+--------------+-------------------+---------------+
| user_id  | access_time  | last_access_time  | is_new_group  |
+----------+--------------+-------------------+---------------+
| 1        | 1736337600   | NULL              | 0             |
| 1        | 1736337660   | 1736337600        | 1             |
| 1        | 1736337710   | 1736337660        | 0             |
| 1        | 1736337760   | 1736337710        | 0             |
| 1        | 1736337910   | 1736337760        | 1             |
| 2        | 1736337670   | NULL              | 0             |
| 2        | 1736337750   | 1736337670        | 1             |
| 2        | 1736337850   | 1736337750        | 1             |
| 3        | 1736337715   | NULL              | 0             |
| 3        | 1736337820   | 1736337715        | 1             |
+----------+--------------+-------------------+---------------+

(3)得出结果

使用sum()over(partition by …… order by ……)累加计算,给出组ID。聚合函数开窗使用order by 计算结果是从分组开始计算到当前行的结果。

这里的技巧:需要新建组的时候就给标签赋值1,否则0,然后累加计算结果在新建组的时候值就会变化,根据聚合值分组,得到合并结果。

with t_group as(select user_id,access_time,last_access_time,if(access_time - last_access_time >= 60, 1, 0) as is_new_groupfrom (select user_id,access_time,lag(access_time) over (partition by user_id order by access_time) as last_access_timefrom user_access_log) t)
select user_id,access_time,last_access_time,is_new_group,sum(is_new_group) over (partition by user_id order by access_time asc) as group_id
from t_group

执行结果

+----------+--------------+-------------------+---------------+-----------+
| user_id  | access_time  | last_access_time  | is_new_group  | group_id  |
+----------+--------------+-------------------+---------------+-----------+
| 1        | 1736337600   | NULL              | 0             | 0         |
| 1        | 1736337660   | 1736337600        | 1             | 1         |
| 1        | 1736337710   | 1736337660        | 0             | 1         |
| 1        | 1736337760   | 1736337710        | 0             | 1         |
| 1        | 1736337910   | 1736337760        | 1             | 2         |
| 2        | 1736337670   | NULL              | 0             | 0         |
| 2        | 1736337750   | 1736337670        | 1             | 1         |
| 2        | 1736337850   | 1736337750        | 1             | 2         |
| 3        | 1736337715   | NULL              | 0             | 0         |
| 3        | 1736337820   | 1736337715        | 1             | 1         |
+----------+--------------+-------------------+---------------+-----------+
http://www.yayakq.cn/news/982281/

相关文章:

  • dnf做任务解除制裁网站东莞关键词搜索排名
  • 铜陵县住房和城乡建设局网站接做网站的项目
  • 张家界市建设工程造价管理站网站层流病房建设单位网站
  • 非标自动化东莞网站建设拟定一个物流网站建设方案
  • 个人网站 数据库如何上传到空间淮北哪里做网站
  • 做海外视频的网站有哪些网站建设公司名字
  • 视频网站哪个做的好处wordpress插件改图标
  • 电影影视网站模板免费下载拟定一个农产品电商网站的建设需求
  • wordpress做分类网站网页游戏网站哪个好
  • 网站开发主框架一般用什么布局厂房装修多少钱一个平方米
  • iis7如何搭建网站p2p网站审批
  • 固安住房和城乡建设网站郴州今天几例
  • 新网互联魔方手机网站建站系统寿光市建设局网站
  • 软路由系统如何做网站净水 技术支持 东莞网站建设
  • 国外做gif的网站北京响应式网站设计
  • 系统优化大师冯宗耀seo教程
  • 烟台模板建站代理泰安选择企业建站公司
  • 京东网站建设的意义深圳网站制作必选祥奔科技
  • 楚雄网站建设公司深圳软装设计公司有哪些
  • 智能建站源码做网站专业的公司
  • 网站开发总结简写html菜鸟教程首页
  • 网站建设步骤 教 程网站开发项目安全加固的要求
  • 招聘网站怎么做seo代运营和运营的区别
  • 做淘宝还有必要做网站吗网站备案幕布要求
  • 医院 网站建设wordpress 模板 新闻
  • 济南街道办网站建设移动开发网
  • 学校建设网站重要性个人网站可以备案几个
  • 公司网站设计网络公司wordpress 迁移 工具
  • 3e网站建设什么叫网络营销目标市场
  • 长沙中小企业网站制作成都科技网站建设咨询