我的mysql表保存引用。每行是一个引文,如:
a= citer
,b= cited
(即a引用b)。
我知道如何获得(1)谁最常引用a,以及(2)谁最常引用a:
/* (1) who cited A most often? */
SELECT citer,COUNT(citer) AS citations1 FROM `table` WHERE cited='A' GROUP BY citer ORDER BY citations1 DESC
/* (2) whom did A cite most often? */
SELECT cited,COUNT(cited) AS citations2 FROM `table` WHERE citer='A' GROUP BY cited ORDER BY citations2 DESC
现在我想得到这两个统计数据的总和( citations1
+ citations2
)这样我就知道谁和a的引用链接最多了。
示例:如果b引用a五(5)次,a引用b三(3)次,则a-b-连杆的总和为八(8)。
用mysql公式可以吗?谢谢你的帮助!
3条答案
按热度按时间hzbexzde1#
你可以
join
结果是:x9ybnkn62#
你可以这样写:
这个问题有点棘手。如果你试图使用
join
,您将排除引用链接最多的人仅为“引用人”或仅为“引用人”的可能性。y1aodyip3#
我在子查询中使用union,然后是行的和