2017-05-31 7 views
1

Ich versuche zu verstehen, was Anhänger zweiten Grades bedeutet? Ich habe eine Tabelle mit zwei Spalten folgende: followee und AnhängerWas zählt Follower zweiten Grades für jeden Follower?

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

was zweiten Grades Anhänger, um herauszufinden?

+4

B folgt A und C B folgt, so ist ein zweiter Grad C Anhänger von A. Beispiel: 'C> B> A'. D ist auch ein Nachfolger von B und somit auch ein zweiter Gradfolger von A, ebenso wie E, G und H. Also hat A 5 Anhänger zweiter Ordnung (C, D, E, G, H). ** Das riecht wie Hausaufgaben ** – scsimon

+0

Danke ich habe es .. – priya

Antwort

1

Um meinen Kommentar zu vertiefen, können Sie dies mit einem Self-Join sehen.

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 | 
+----------+----------------------+----+ 
Verwandte Themen