SQL 面试系列(一)【留存率问题】 您所在的位置:网站首页 用户留存率的要点 SQL 面试系列(一)【留存率问题】

SQL 面试系列(一)【留存率问题】

2024-06-29 20:10| 来源: 网络整理| 查看: 265

前言

        在学 HQL 之前是不太了解 SQL 的,以为 SQL 只可以实现 CRUD ,直到面试的公司让我下去多了解一些 SQL ,我才最近开始再次深入学习 MySQL 和 Oracle。而且越学越发现 SQL 真的是一门很有深度的语言,我以前的使用只是皮毛而已,自惭形秽之下决定必须深入学习 SQL ,毕竟大数据工作之后主要就是 SQL 嘛。

        关于留存率问题是一个面试的重点,面一个暑期实习都几乎每次都被问,每次问到留存率我都试图通过障耳法搞晕面试官,结果事实上面试官都能准确发现我回答中的问题。所以不能再拖了,留存率的问题应该好好拿出来深入理解掌握了。

1、留存率问题 1.1、留存率的定义

留存率:用户在注册之后的第 N 天仍然登录的比例,称为第 N 日留存率。

1.2、数据准备

下面我们通过 SQL 先创建一些数据(用户数据 5000条、登录数据 50w条):

-- 留存率问题 -- 示例表 DROP TABLE IF EXISTS t_user; CREATE TABLE t_user( id INT AUTO_INCREMENT PRIMARY KEY, user_name VARCHAR(50) NOT NULL, register_time DATETIME NOT NULL ); SET SESSION cte_max_recursion_depth=9999999; INSERT INTO t_user(user_name, register_time) WITH RECURSIVE t AS ( SELECT 1 n, '2022-01-01 00:00:00' d UNION ALL SELECT n+1, d + INTERVAL '1' MINUTE FROM t WHERE n


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有