我有两张桌子(titleauthor,authors) 作者中有名字,
和titleauthor的书面内容(计数)
我想通过在titleauthor中使用max in counts来获取作者的作者姓名。我认为我使用了错误的命令..任何人都可以纠正这个吗?
a-space/
答案 0 :(得分:0)
如果您只希望单个作者拥有最多的作品,那么您可以尝试以下方法:
SELECT CONCAT(a.au_fname, ' ', a.au_lname) AS Author_Name
FROM authors a
INNER JOIN titleauthor ta
ON a.au_id = ta.au_id
GROUP BY a.au_id
ORDER BY COUNT(*) DESC
LIMIT 1
如果大多数作者的作者之间可能存在联系,那么您可以指定第二列可用于打破平局。如果您只想报告单个作者,这将很有效。如果你真的想报告所有作者应该有一个平局,那么我们可以使用子查询。
答案 1 :(得分:0)
首先,您需要select
中的字段也显示在group by
中
然后,您可以order by
计数下降,limit
到1
select concat(a.au_fname," ", a.au_lname) as Author_Name
from authors a
join titleauthor ta
on a.au_id = ta.au_id
group by a.au_fname, a.au_lname
order by count(*) desc
limit 1