Não sei se entendi perfeitamente sua intenção, mas talvez o seguinte seja próximo ao que você deseja:
select n1.name, n1.author_id, count_1, total_count
from (select id, name, author_id, count(1) as count_1
from names
group by id, name, author_id) n1
inner join (select id, author_id, count(1) as total_count
from names
group by id, author_id) n2
on (n2.id = n1.id and n2.author_id = n1.author_id)
Infelizmente, isso adiciona o requisito de agrupar a primeira subconsulta por id, bem como name e author_id, o que acho que não era desejado. No entanto, não tenho certeza de como contornar isso, pois você precisa ter o id disponível para ingressar na segunda subconsulta. Talvez alguém venha com uma solução melhor.
Compartilhe e curta.