力扣614(MySQL)-二级关注者(中等)
题目:
在 facebook 中,表 follow 会有 2 个字段: followee, follower ,分别表示被关注者和关注者。
请写一个 sql 查询语句,对每一个关注者,查询关注他的关注者的数目。
比方说:
应该输出:
解释:
B 和 D 都在在 follower 字段中出现,作为被关注者,B 被 C 和 D 关注,D 被 E 关注。A 不在 follower 字段内,所以A不在输出列表中。
注意:
被关注者永远不会被他 / 她自己关注。
将结果按照字典序返回。
解题思路:
建表语句:
1 Create table If Not Exists follow_614 (followee varchar(255), follower varchar(255)); 2 Truncate table follow_614; 3 insert into follow_614 (followee, follower) values ('A', 'B'),('B', 'C'),('B', 'D'),('D', 'E');
直白点理解题意就是筛选出在follower列中出现的字母在followee出现的次数。
①首先从表中通过where条件筛选出在followee在follower出现的数据;
②以followee为分组和排序,统计出followee和follower出现的次数。
1 select f.followee,count(distinct f.follower) as num 2 from follow_614 f 3 where f.followee in( 4 select follower 5 from follow_614 6 ) 7 group by f.followee 8 order by f.followee
小知识:
SQL的执行顺序:
FROM > ON > JOIN >WHERE > GROUP BY > HAVING >SELECT > UNION > ORDER BY > LIMIT
SQL的书写顺序:
SELECT > FROM > WHERE > JOIN > ON > GROUP BY > HAVING > UNION > ORDER BY > LIMIT
标签:
MySQL
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2022-04-04 python格式化时间报错:UnicodeEncodeError: 'locale' codec can't encode character '\u5e74' in position 2: Illegal byte sequence
2022-04-04 9.盒子模型