предположим, что у вас есть следующая таблица с именем Likes:
A|B
---
a|b
a|f
a|e
a|i
b|a
b|i
c|d
e|p
В этой таблице значения в A представляют людей, которые "любят" людей в B. Итак, a like b, a like f, a likesе, и так далее. Как вы пишете запрос так, что вы получаете количество разных пользователей, которые имеют две степени разделения от каждого пользователя ?Так, например, если a любит b, то b это одна степень отделения от a.Если a любит b, а b любит c, то c - это две степени отделения от a.Еще один пример: если a любит b, а b любит a, то a - это две степени отделения от себя (мы не исключаем циклы).Таким образом, результат должен быть примерно таким:
User|CountOfUsersWhoAreTwoDegreesFromUser
-----------------------------------------
a | -
b | -
c | -
e | -
Теперь я не уверен, каким будет наш счет для каждого пользователя, поэтому я не записал его в таблицу выше.Также ни один человек за столом не любит таких как они.Таким образом, вы не увидите такую комбинацию, как a | a в Likes или b | b в Likes.Кто-нибудь может мне помочь с этим?