我正在制作书店数据库,在“作者”表格中,我有专栏,我想在“书籍”表中统计作者所写的书籍。表“Books”具有外键“id_author”。我不知道该怎么做,就像
SELECT COUNT(*) FROM Books WHERE id_author = "id of chosen author"
用代码代替"id of chosen author"
写什么?
如何将它放在表“作者”中?
答案 0 :(得分:1)
您可以加入authors
表并按其列查询(例如,名字和姓氏):
SELECT COUNT(*)
FROM books b
JOIN author a ON b.id_author = a.id
WHERE a.firstname = 'John' AND a.lastname = 'Doe'
答案 1 :(得分:0)
根据您的应用程序,应用程序可能已具有作者ID。这意味着你可以做一个
SELECT COUNT(*) FROM Books WHERE id_author = "id of author provided by application"
虽然与Mureinik的答案相比,差异可能不大,但这可以提高您在大型数据库上的表现,因为您不必在作者和书籍表之间进行连接。
答案 2 :(得分:0)
作者的书籍数量:
select a.author, count(1)
from author a
join books b
on a.id = b.id_author
group by a.author