六安商业网站建设费用,个人博客页面,大庆门户网站,wordpress 清除cookies大家好#xff0c;我是空空star#xff0c;本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目#xff1a;1729. 求关注者的数量二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.正确… 大家好我是空空star本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目1729. 求关注者的数量二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.正确示范⑤提交SQL运行结果总结前言 一、题目1729. 求关注者的数量 表 Followers -------------------
| Column Name | Type |
-------------------
| user_id | int |
| follower_id | int |
-------------------(user_id, follower_id) 是这个表的主键。 该表包含一个关注关系中关注者和用户的编号其中关注者关注用户。 写出 SQL 语句对于每一个用户返回该用户的关注者数量。 按 user_id 的顺序返回结果表。 查询结果的格式如下示例所示。 输入
Followers 表
----------------------
| user_id | follower_id |
----------------------
| 0 | 1 |
| 1 | 0 |
| 2 | 0 |
| 2 | 1 |
----------------------
输出
-------------------------
| user_id | followers_count|
-------------------------
| 0 | 1 |
| 1 | 1 |
| 2 | 2 |
------------------------- 解释 0 的关注者有 {1} 1 的关注者有 {0} 2 的关注者有 {0,1} 二、解题
1.正确示范①
提交SQL
select user_id,count(1) followers_count
from Followers
group by user_id
order by user_id;运行结果 2.正确示范②
提交SQL
select user_id,count(*) followers_count
from Followers
group by user_id
order by user_id;运行结果 3.正确示范③
提交SQL
select user_id,count(follower_id) followers_count
from Followers
group by user_id
order by user_id;运行结果 4.正确示范④
提交SQL
select user_id,sum(1) followers_count
from Followers
group by user_id
order by user_id;运行结果 5.正确示范⑤
提交SQL
select distinct user_id,
sum(1) over(partition by user_id) followers_count
from Followers
order by user_id;运行结果 总结 正确示范①思路 采用count(1) 先按用户id分组再用count(1)统计出关注者的数量再按用户id顺序 正确示范②思路 采用count(*) 先按用户id分组再用count(*)统计出关注者的数量再按用户id顺序 正确示范③思路 采用count(follower_id) 先按用户id分组再用count(follower_id)统计出关注者的数量再按用户id顺序 正确示范④思路 采用sum(1) 先按用户id分组再用sum(1)统计出关注者的数量再按用户id顺序 正确示范⑤思路 采用sum(1) over(partition by user_id) 通过partition by分组用sum(1)统计出关注者的数量用distinct去重后再按用户id顺序。