LeetCode:Database 33.二级关注者

Posted Xiao Miao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode:Database 33.二级关注者相关的知识,希望对你有一定的参考价值。

要求:请写一个 sql 查询语句,对每一个关注者,查询关注他的关注者的数目。

follow表:

+-------------+------------+
| followee    | follower   |
+-------------+------------+
|     A       |     B      |
|     B       |     C      |
|     B       |     D      |
|     D       |     E      |
+-------------+------------+
在 facebook 中,表 follow 会有 2 个字段: followee, follower ,分别表示被关注者和关注者。

Result Tbale:


+-------------+------------+
| follower    | num        |
+-------------+------------+
|     B       |  2         |
|     D       |  1         |
+-------------+------------+

分析:
1.求每个关注者关注他的人数,首先根据followee分组,求出每个被关注者的关注他的人数
2.过滤,过滤条件是被关注者是关注者
3.然后distinct去重,去除重复关注他的关注者

SQL语句:

select followee as follower,count(distinct follower) as num from follow
where followee in (select follower from follow)
group by followee
order by follower;

以上是关于LeetCode:Database 33.二级关注者的主要内容,如果未能解决你的问题,请参考以下文章

leetcode Database3

[LeetCode]-DataBase-Rising Temperature

[LeetCode]-DataBase-Combine Two Tables

1226关于count(*)不走主键索引反而走二级索引

[LeetCode]-DataBase-Nth Highest Salary

[LeetCode]-DataBase-Department Highest Salary