前言
最近想把之前在leetcode练习的mysql专题梳理一遍,该系列主要是个人的学习总结,以方便之后个人时不时可以来翻阅复习。
(若有侵权,请联系我,会立即删除文章)。
一、问题描述
难度中等602题:好友申请
二、代码实现
1.代码思路
理解题意:无论是谁请求的,好友申请通过后两人互为好友
union all将原表连接,使得无论是申请人还是接收人都在同一列,之后算每个人的好友人数,则可以直接根据这列数据进行group by
2.具体代码
select id1 id,count(1) num
from(
select requester_id id1,accepter_id id2
from RequestAccepted r
union all
select accepter_id id1,requester_id id2
from RequestAccepted r) r1
group by id1
order by num DESC
limit 1