大家早上好,本人姓吴,如果觉得文章写得还行的话也可以叫我吴老师。欢迎大家跟我一起走进数据分析的世界,一起学习!
感兴趣的朋友可以关注我的数据分析专栏,里面有许多优质的文章跟大家分享哦。
另外也欢迎大家关注我的SQL刷题专栏,里面有我分享的高质量SQL题,以及详细的解析。
自从在 blink说自己要每天都写一道sql题之后,有个粉丝朋友提议让我把做的题分享到博客上,到现在,已经是第12篇了,这段时间几乎也都是坚持每天都更新博客(虽然很水,但博客在我看来更重要的还是记录,能给他人带来收获是很不错的附加值,仅此而已),没有更新的时候也基本上是因为工作回来太晚,所以目前为止我对自己还是非常满意的,希望能再接再厉。
本篇博文又是我的SQL题分享环节,为了记录一下自己的做题过程,以及防止后续力扣会员过期无法再次查看题目,所以我每天都会给大家选出一道质量较高的SQL题目发表到博客上,并且会加上自己的一些解题技巧或实用知识点,希望对大家也能有所帮助。
那么今天给大家分享的题是LeetCode的第614题——二级关注者。
下面是问题的详细描述。
问题描述
在 facebook 中,表 follow 会有 2 个字段: followee
, follower
,分别表示被关注者和关注者。
请写一个 sql 查询语句,对每一个关注者,查询关注他的关注者的数目。
比方说:
+-------------+------------+
| followee | follower |
+-------------+------------+
| A | B |
| B | C |
| B | D |
| D | E |
+-------------+------------+
应该输出:
+-------------+------------+
| follower | num |
+-------------+------------+
| B | 2 |
| D | 1 |
+-------------+------------+
解释:
B 和 D 都在在 follower
字段中出现,作为被关注者,B 被 C 和 D 关注,D 被 E 关注。A 不在 follower
字段内,所以A不在输出列表中。
注意:
- 被关注者永远不会被他 / 她自己关注。
- 将结果按照字典序返回。
解题思路
- 先自连接;
- 然后去重,count计数即可;
- 最后记得输出记得用order by排序
代码实现
select t1.follower,count(distinct t2.follower) as num
from follow t1 join follow t2
on t1.follower=t2.followee
group by t2.followee
order by t1.follower
结束语
看完这篇,还有更多知识点分享给你哦,自己慢慢找哈,就在下面链接。
推荐关注的专栏
👨👩👦👦 机器学习:分享机器学习实战项目和常用模型讲解
👨👩👦👦 数据分析:分享数据分析实战项目和常用技能整理
往期内容回顾
💚 学习Python全套代码【超详细】Python入门、核心语法、数据结构、Python进阶【致那个想学好Python的你】
❤️ 学习pandas全套代码【超详细】数据查看、输入输出、选取、集成、清洗、转换、重塑、数学和统计方法、排序
💙 学习pandas全套代码【超详细】分箱操作、分组聚合、时间序列、数据可视化
💜 学习NumPy全套代码【超详细】基本操作、数据类型、数组运算、复制和试图、索引、切片和迭代、形状操作、通用函数、线性代数
关注我,了解更多相关知识!
CSDN@报告,今天也有好好学习