Primeiro, você não tem uma consulta "agrupar por", então você pode removê-la.
Um MV seria mais útil se você precisasse recalcular todos dos dados para todos os anos. Como isso parece ser um resumo, sem a necessidade de reprocessar dados antigos, atualizados apenas quando determinadas datas limite, como final de ano, são passadas, recomendo colocar os resultados em uma tabela normal e adicionar as atualizações apenas com a frequência das datas limite ocorrer (anualmente?) usando um procedimento armazenado. Caso contrário, seu MV levará mais tempo para ser executado e exigirá mais recursos do sistema a cada execução que adicionar uma nova data.