关注
with rt as
(select uid, friends from usr_friends_relation
union
select friends,uid from usr_friends_relation)
,
u as
(select a.uid,a.friends friends1,b.friends friends2
from rt a
left join rt b on a.friends=b.uid
where a.uid!=b.friends
)
select uid,count(*)
from u
where (uid,friends2) not in (select uid,friends1 from u)
group by uid
可能这题也有更简单的方法,但我目前没想到,以上代码已通过自测。
第一步建立朋友表rt,通过union汇总去重的方法得到rt,可以这样理解相当于是把所有用户放在第一列,用户的朋友放在第二列。
第二步再建立一个临时表u,这张表包含用户,用户的朋友,用户的朋友的朋友。这张表是在rt表的基础上自连接得到的,目的就是得到用户的朋友的朋友这个字段,其中where a.uid!=b.friends 这个条件的代表的是用户朋友的朋友不能是自己。
第三步 就是统计二度朋友的数量了,由题目a和c不是朋友也就是用户的朋友不能成为用户朋友的朋友,这也就是where条件。
不知道我这样表达清楚了吗?😂
查看原帖
点赞 2
相关推荐
2025-12-03 19:49
西南科技大学 嵌入式软件工程师 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 哪些公司在招寒假实习? #
13059次浏览 163人参与
# 卷__卷不过你们,只能卷__了 #
10545次浏览 226人参与
# MiniMax求职进展汇总 #
640次浏览 23人参与
# 26年哪些行业会变好/更差 #
17368次浏览 228人参与
# 写论文的崩溃时刻 #
5488次浏览 128人参与
# 去年的flag与今年的小目标 #
8888次浏览 179人参与
# 有深度的简历长什么样? #
15495次浏览 321人参与
# 你不能接受的企业文化有哪些 #
10644次浏览 154人参与
# 入职第一天 #
9429次浏览 197人参与
# 你都用AI做什么 #
6219次浏览 144人参与
# 国企vs私企,你更想去? #
305242次浏览 2485人参与
# 央国企投递记录 #
170241次浏览 1639人参与
# 一人分享一道面试手撕题 #
20952次浏览 748人参与
# 你在职场上见过哪些“水货”同事 #
29070次浏览 162人参与
# 机械人还在等华为开奖吗? #
304836次浏览 1553人参与
# 关于春招你都做了哪些准备? #
122091次浏览 704人参与
# 机械人的秋招小目标 #
26042次浏览 229人参与
# 你怎么看待AI面试 #
133240次浏览 742人参与
# 现在前端的就业环境真的很差吗 #
492379次浏览 5965人参与
# 晒一晒你收到的礼盒 #
95163次浏览 462人参与
# 总结:offer选择,我是怎么选的 #
245660次浏览 1487人参与
SHEIN希音公司福利 294人发布