我陷入了困境。
我有一个postgres数据库,我必须根据联合发表论文的数量筛选出前5名、唯一的合著者对。
我想返回作者姓名和论文数量对
到目前为止我所拥有的:
select persons.name as person, count(papers.pkey) as amount
from persons
inner join authpapers on authpapers.akey = persons.akey
inner join papers on authpapers.pkey = papers.pkey
group by persons.name
order by amount desc limit 5;
因此,我得到了前5名作者学士学位的名称和论文计数,但我希望论文的作者有一个共同作者。
1条答案
按热度按时间kninwzqo1#
您可以自行加入
persons
表生成作者组合,然后通过加入每个人的论文authpapers
每个用户一次,最后筛选匹配的纸张。最后一步是聚合和排序:请注意,您不需要
papers
表以获得所需的结果。