Reabrindo a Dúvida - Erro no final do vídeo TypedQuery. O pessoal percebeu que o exemplo utilizado pelo professor estava errado (o resultado estava certo por coincidência). No caso, a data é um timestamp (possuindo hora além da data), e quando vc faz um Group By ele vai agrupar as datas/timestamps iguais, no caso as 4 datas (timestamps) são diferentes, então ele retorna a média das 4 datas (100, 100, 300, 300), quando ele faz o distinct ele remove as datas duplicadas e não faz a média como informado. No caso, se os valores fossem diferentes o distinct não funcionaria...
O colega Gustavo da dúvida anterior, deu a resposta q mais gostei, então replico aqui:
select avg(m.valor) from Movimentacao m where m.conta = :pConta group by year(m.data), month(m.data), day(m.data)