Second Degree Follower

medium database sql

Problem

Follow(followee, follower). Return followers who are themselves followed by someone, with their own follower count.

Inputf=[('Alice','Bob'),('Bob','Cena'),('Bob','Donald'),('Donald','Edward')]
Output[('Bob',2),('Donald',1)]
Bob is followed by Cena/Donald (count 2) and follows Alice. Donald is followed by Edward (count 1) and follows Bob.

SELECT followee AS follower, COUNT(*) AS num
FROM Follow
WHERE followee IN (SELECT follower FROM Follow)
GROUP BY followee
ORDER BY followee;
Time: O(n) Space: O(n)