又刷了一遍SQL题。

共 1233字,需浏览 3分钟

 ·

2022-01-10 12:31

你们好,我是宝器!

很多读者朋友是数据相关的从业者,或数据分析(DA),或数据工程(DE),或数据科学(DS) 等等,日常都要跟数据打交道。

当然,不是每天去盯着一堆杂乱无章的数据,很多时候是某种假设为先,利用数据去验证假设,这种看着分析思维在很多地方会出现。

比如《张小龙:微信十年的产品思考》。


在公司里,我们对应的就是龙哥心中的“数据同事”。很多时候,我们都在处理和统计数据,用的最多的工具是SQL。


关于为什么要用SQL,我在之前的很多文章中都有提到,也在这些文章中写了一些需要掌握的SQL知识点以及可能会面试考到的SQL题,有兴趣的可以看看:

1、做了点SQL题。
2、数据分析师必知的那些Hive-SQL
3、解一下TMD几道热门数据分析面试题。

而在最近,我看到大伟写了一本书SQL数据分析:从基础破冰到面试题解》,系统的说明和解答了这些问题,为了让大家更直接地了解到全书的内容,这里就直接放目录了:





书中会提到一些实际业务中需要统计的数据案例,比如网站登录时间间隔统计:

现有一张网站登录情况表login_info,该表记录了所有用户的网站登录信息,包含如下两个字段。

user_id(用户ID):VARCHAR。
login_time(用户登录日期):DATE。

假设要计算每个用户登录日期间隔小于5天的次数,怎么做呢?

这类问题书中也已经给出了详解和答案,这边我给一下本例解答(解一下TMD几道热门数据分析面试题这篇文章中也举例过)。

SELECT  a.user_id       ,COUNT(*) AS numFROM (    SELECT  user_id           ,login_time           ,LEAD(login_time,1) OVER (PARTITION BY user_id ORDER BY login_time) AS next_login_time    FROM login_info) AS aWHERE TIMESTAMPDIFF(DAY, login_time, next_login_time) < 5 GROUP BY user_id;
/* 你还有其他解法吗?可以思考下

未来以来,2022,新的一年给大家安排第一波福利,赠送 5本SQL数据分析:从基础破冰到面试题解

参与规则的话:一键三连的同学中抽5本(分享、在看、点赞其一都行)。


·················END·················

推荐阅读

  1. 我在字节做了哪些事

  2. 写给所有数据人。

  3. 从留存率业务案例谈0-1的数据指标体系

  4. 数据分析师的一周

  5. 超级菜鸟如何入门数据分析?


欢迎长按扫码关注「数据管道」

浏览 50
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报