image.png
    image.png
    image.png


    注意需要删去每个人自己喜欢的pageid

    1. with t1 as (
    2. select user1_id user_id, user2_id friend from Friendship
    3. union
    4. select user2_id, user1_id from Friendship)
    5. SELECT t2.* FROM (
    6. SELECT t1.user_id, page_id, count(distinct friend) friends_likes
    7. from t1 LEFT JOIN Likes L
    8. ON t1.friend = L.user_id
    9. group by user_id,page_id) t2
    10. LEFT JOIN Likes L1
    11. ON (t2.user_id,t2.page_id) = (L1.user_id,L1.page_id)
    12. WHERE L1.page_id is null