あなたの意図を完全に理解しているかどうかはわかりませんが、おそらく次のことがあなたの望むものに近いでしょう:
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)
残念ながら、これにより、最初のサブクエリをid、name、author_idでグループ化するという要件が追加されますが、これは望ましくないと思います。ただし、2番目のサブクエリに参加するにはIDを使用できるようにする必要があるため、これを回避する方法がわかりません。おそらく他の誰かがより良い解決策を思い付くでしょう。
共有してお楽しみください。