在连接中使用Count聚合子句

时间:2013-08-17 06:39:52

标签: sql

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

Table 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;

1 个答案:

答案 0 :(得分:1)

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

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;