2017-05-31 12 views
1

我想了解二度追隨者是什麼意思? 我有兩列如下表:關注者和追隨者什麼是每個followee計數二級追隨者?

Followee Follower 
A  B 
B  C 
B  D 
B  E 
A  F 
F  G 
F  H 
B  H 

什麼是找出第二學位的追隨者?

+4

乙如下A和C如下乙因此C是A.實施例的第二度從動:'C> B> A'。 D也是B的跟隨者,因此也是A的第二度追隨者,E,G和H也是如此。所以A有5個二次追隨者(C,D,E,G,H)。 **這聞起來像作業** – scsimon

+0

謝謝我得到它.. – priya

回答

1

爲了詳細說明我的評論,您可以通過自我加入來看到這一點。

declare @table table(Followee char(1), Follower char(1)) 
insert into @table 
values 
('A','B'), 
('B','C'), 
('B','D'), 
('B','E'), 
('A','F'), 
('F','G'), 
('F','H'), 
('B','H') 

select 
    l.Followee 
    ,f.Follower as SecondDegreeFollower 
    ,count(*) as CT 
from 
    @table l 
left join 
    @table f on f.Followee = l.Follower 
where 
    f.Follower is not null 
group by 
    l.Followee 
    ,f.Follower 

RETURNS

+----------+----------------------+----+ 
| Followee | SecondDegreeFollower | CT | 
+----------+----------------------+----+ 
| A  | C     | 1 | 
| A  | D     | 1 | 
| A  | E     | 1 | 
| A  | G     | 1 | 
| A  | H     | 2 | 
+----------+----------------------+----+