Mysql显示拥有1本以上书籍的作者的书籍标题

  • 本文关键字:标题 显示 拥有 1本 Mysql mysql
  • 更新时间 :
  • 英文 :


好的,我有一个Books的表,每本书都有现在相关的2 filedsTitle&Author,如何显示拥有一本以上书籍的作者的书名?我试过

SELECT Title, Author, COUNT(Author) AS Books FROM BOOK 
GROUP BY Author HAVING COUNT(Author) >= 2;

但这只给了我每个作者一个标题,作者和作者拥有的书籍的amt。例如

The Sun Also Rises | Hemingway | 2
Foundation         | Asimov    | 2 

等等。

如何解决?子查询也可以使用

像这样使用group_concat:-

SELECT group_concat(Title) as Title, Author, COUNT(Author) AS Books 
FROM BOOK GROUP BY Author HAVING COUNT(Author) >= 2;

运行此查询

您可以在子查询中确定至少有2本书的作者,然后获得他们的图书列表:

SELECT book.Title, book.Author
FROM book
INNER JOIN (SELECT Author FROM BOOK GROUP BY Author HAVING COUNT(Author) >= 2) t
ON book.Author=t.Author;
SELECT b.title,b.author,c.cnt FROM books AS b INNER JOIN
(SELECT author,COUNT(*) AS cnt FROM books GROUP BY author) AS c
ON b.author = c.author
WHERE c.cnt > 1;

适用于任何数据库系统,而不仅仅是mysql。

最新更新