Если вы хотите добавить столбец с общим количеством, вы можете использовать перекрестное соединение между результатом по категориям и общим количеством
select t1.master_category, t1.count_by_cat, t2.tot_count
from (
select master_category,count(a2.adid) count_by_cat
from ad a1
inner join Category c on a1.catid=c.id
inner join ad a2 on a1.adid=a2.adid
group by c.master_category )
) t1
cross join (
select count(*) tot_count
inner join Category c on a1.catid=c.id
inner join ad a2 on a1.adid=a2.adid
) t2
Перекрестное соединение - это декартово произведение между двумя наборами строк. В этом случае один набор предназначен для результата категорий, а второй - только в одной строке
тогда использование перекрестного соединения с общим результатом позволяет показать для каждой строки один и тот же результат .. (в этом случае общее значение рассчитывается по второму подзапросу)
Фактически это соединение между результатом для каждой строки категории и одним значением