Ik weet niet zeker of ik je bedoeling helemaal begrijp, maar misschien komt het volgende in de buurt van wat je wilt:
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)
Helaas voegt dit de vereiste toe om de eerste subquery te groeperen op id, evenals op naam en author_id, wat volgens mij niet gewenst was. Ik weet echter niet zeker hoe ik dat moet omzeilen, omdat je een id nodig hebt om deel te nemen aan de tweede subquery. Misschien komt iemand anders met een betere oplossing.
Deel en geniet.