O problema é sua subconsulta com o
select count(1)
papel. Só porque tem uma contagem não o torna realmente um agregado. Ainda é uma subconsulta que será aplicada a todas as linhas e, como você pode ver, usa o valor c0.tdata.tariff
que não faz parte do grupo.