我有两张表,论文和作者。Paper包含在给定时间段内发表的所有论文,并且Authors在一列中具有作者姓名,在另一列中具有发表论文的id (因此,同一作者可能会出现多次)。现在我要找出每篇论文的平均作者数量。
我的尝试:-
(SELECT COUNT(*) FROM Author as decimal)/(SELECT COUNT(*) FROM Paper);显然,第一部分将给出表Author中的行数,第二部分将给出总行数。发表的论文数量。但是,我得到了一个错误“错误:语法错误在或接近"/"”。我相信这是因为我可能是用一张表来划分一个表(因为我是postgres的初学者,我可能大错特错了,如果是这样的话请纠正我)。我只想知道我们如何才能解决这个错误。谢谢!
发布于 2019-01-18 00:52:03
假设所有论文至少有一位作者:
select count(*) * 1.0 / count(distinct paper_id)
from authors;* 1.0是为了避免整数除法。
发布于 2019-01-18 01:00:08
您可以连接表并划分特定信息,例如:
SELECT
COUNT(au.*)/COUNT(pa.*) AS division_result -- depends on your data
FROM Author au
JOIN Paper pa
ON -- join criteria depends on your data(eg.au.id=pa.id )我希望这会对你有所帮助(我假设你没有使用BigQuery)。
https://stackoverflow.com/questions/54240613
复制相似问题