MySQL友谊关系计数?

时间:2012-12-08 18:42:44

标签: mysql

表 - 朋友

    friend_id     | friend_one    | friend_two   | role 
+--------------------------------------------------------------------------------------------+
|1:    44               34              34          me
|2:    45               35              35          me
|3:    46               35              34          fri
+--------------------------------------------------------------------------------------------+

我需要数数,谁在追随谁以及谁是追随者..这就是它,我在下面得到了一些答案,但大多只是给我静态数字但是感谢你到目前为止的帮助,它给了我一个地方开始。

1 个答案:

答案 0 :(得分:0)

似乎你只想要这个:

select friend_one, count(*) as count
from friends
where friend_one != friend_two -- fyi such rows shouldn't exist
group by friend_one;

如果您想要特定用户的计数,请执行以下操作:

select count(*) as count
from friends
where friend_one != friend_two -- fyi such rows shouldn't exist
and friend_one = $uid

我对friend_one != friend_two的评论是因为您似乎为每个用户都有“自我友好”条目。这是一个坏主意恕我直言,因为它没有增加任何价值 - 考虑没有这样的行。