Leetcode 1892. 页面推荐Ⅱ

https://leetcode-cn.com/problems/page-recommendations-ii/

1892.png

select a.user1_id user_id ,a.page_id page_id ,count(distinct a.user2_id)friends_likes  from(
select distinct a.user1_id,a.user2_id,c.page_id
from 
(select user1_id,user2_id from Friendship union select user2_id,user1_id from Friendship)a 
left join Likes b on a.user1_id=b.user_id
left join Likes c on a.user2_id=c.user_id
where b.page_id!=c.page_id
)a left join (
    select a.user1_id,a.user2_id,b.page_id
    from (select user1_id,user2_id from Friendship union select user2_id,user1_id from Friendship) a,
    (
        select a.page_id,group_concat(user_id separator ',')user_list from(
            select page_id  from Likes 
            group by page_id 
            having count(distinct user_id)>1
        )a left join Likes b on a.page_id=b.page_id
        group by a.page_id 
    )b where find_in_set(a.user1_id,b.user_list)>0 and find_in_set(a.user2_id,b.user_list)>0
)b on a.user1_id=b.user1_id and a.user2_id=b.user2_id and a.page_id=b.page_id
where b.page_id is null 
group by a.user1_id,a.page_id 
# order by a.user1_id,a.page_id 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容