【问题标题】:Using Count aggregate clause within a join在连接中使用 Count 聚合子句
【发布时间】:2013-08-19 14:29:55
【问题描述】:

我有两个表,其结构如下 表格作者 last_name,first_name,author_id(pk)(Titleauthor引用的外键)

表格标题作者 title_id(pk) author_id(引用外键), 标题

我想退休拥有两个或更多头衔的作者,列出他们的姓名和出版的书籍数量。

但是,当我尝试加入和计数时,我收到“此处不允许使用组函数”的错误。我是 sql 的初学者,我该如何实现?这是我的代码

 SELECT last_name,first_name
FROM authors a
JOIN titleauthor ta
ON ta.author_id= a.author_id
WHERE COUNT(ta.author_id)>2
ORDER BY author_lname;

【问题讨论】:

    标签: sql


    【解决方案1】:

    添加group by 子句后,您需要将where 替换为having

    SELECT a.last_name, a.first_name
    FROM authors a
    JOIN titleauthor ta
    ON ta.author_id= a.author_id
    GROUP BY a.last_name, a.first_name
    HAVING COUNT(ta.author_id)>2
    ORDER BY a.last_name, a.first_name;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 2020-12-12
      相关资源
      最近更新 更多