El problema es su subconsulta con select count(1) parte. El hecho de que tenga un conteo no lo convierte en un agregado. Sigue siendo una subconsulta que se aplicará a cada fila y, como puede ver, utiliza el valor c0.tdata.tariff que no es parte del grupo.