Я понимаю, что вы хотите посчитать количество строк, возвращаемых агрегированным запросом.
Если это так, то вам нужен другой уровень агрегирования, ie превратить ваш запрос в подзапрос, а затем считать во внешнем запросе:
select count(*) no_records
from (
select 1
from table1 e
inner join table2 s
on e.objectId = s.envId
inner join resources r
on e.objectId = r.envId
inner join tpgs g
on e.accountId = g.objectId
inner join msgTable a
on a.id = (select max(a.id) from msgTable a where a.logId = s.AuditId)
group by s.server
) t;
Примечание: поскольку все, что мы хотим посчитать, сколько записей мы получаем, нам не нужны другие вычисления в предложении SELECT
; SELECT 1
достаточно.