两张表分组

SELECT 书名,COUNT(`作者id`) FROM 书名 INNER JOIN 中间表 ON 书名.书名id=中间表.书名id GROUP BY 书名

 就是先把两张表连起来 当成一张表来分组查询

 

 

按照书名分组

--查书有几个作者
-- select * ,count(app01_book.title) from app01_book inner join app01_book_authors on app01_book.id = app01_book_authors.book_id group by app01_book.title;
-- select * from app01_book inner join app01_book_authors on app01_book.id = app01_book_authors.book_id

按照作者分组

--查询作者写了多少本书
-- select * ,count(app01_author.name) from app01_author inner join app01_book_authors on app01_author.id = app01_book_authors.author_id group by app01_author.name
-- select * from app01_author inner join app01_book_authors on app01_author.id = app01_book_authors.author_id;


--多表的时候先将表连接起来,查书就连接书,查作者就连接作者,
-- 按照书的名字分组,就可以统计相同书籍的个数, 就查的是书籍的作者有几人 分组后就是相同的数据在一组
-- 按照作者的名字分组,就可以得到作者分别写了哪些书,就是查作者的书籍有几本 分组后就是相同的数据在一组

--写的时候可以先将表连起来看看,
posted @ 2022-02-24 06:39  咖喱给给啊  阅读(115)  评论(0)    收藏  举报