0

表 - 朋友

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

我需要计算,谁在关注,谁是关注者.. 差不多了,我在下面得到了一些答案,但大多只是给我静态数字,但到目前为止感谢您的帮助,它给了我一个开始的地方。

4

1 回答 1

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是因为您似乎对每个用户都有“自动自我朋友”条目。恕我直言,这是一个坏主意,因为它没有增加任何价值 - 考虑没有这样的行。

于 2012-12-08T18:52:56.293 回答