选择有三位或更多作者的论文

问题描述 投票:0回答:2

我有两张表作者和论文。如何找到有三位或更多作者的论文?我试过用

select distinct acnum,panum from author Where acnum >3 order by acnum;

select p.panum,p.title from paper p Join author a on a.panum = p.panum Group by p.panum,p.title Having count(a.acnum) >3;

我做错了吗?作者与论文的关系是论文编号。

sql
2个回答
1
投票

你在评论中说:

 i used select p.panum,p.title from paper p Join author a on a.panum = p.panum Group by p.panum,p.title Having count(a.acnum) >3

让我们假设您使用的是确切的查询。你没有在选择中做COUNT,但使用HAVINGHAVING分析了应该在select中的聚合,但没有。你只需要在选择中放一个COUNT

SELECT p.panum
      ,p.title
      ,COUNT(*) as "thecount"
  FROM paper P INNER JOIN author a ON a.pnum = p.panum
GROUP BY p.panum
        ,p.title
HAVING COUNT(*) >= 3

0
投票

您必须在问题中更好地指定字段和表格,但通常您必须按作者进行分组并设置具有计数的条件。就像是

SELECT * FROM paper JOIN author ON author ....
GROUP BY author
HAVING COUNT(*) > 3
© www.soinside.com 2019 - 2024. All rights reserved.