Olá. Segue abaixo meu entendimento acerca da repetição da função CASE no GROUP BY, pois pelo que vi no fórum isso causou muitas dúvidas.
==================
Quando nós escrevemos a função CASE, na verdade estamos criando um campo para a consulta, e o estamos denominando "STATUS_PRECO."
A repetição do CASE no GROUP BY nada mais é que uma instrução ao MySQL dizendo que eu quero agrupar o resultado pela embalagem e também pelo novo campo que criei através da função CASE. Tanto que, se no GROUP BY colocarmos o alias STATUS_PRECO ao invés da função CASE, o resultado é o mesmo.
Se eu não repetir a função CASE no GROUP BY (ou não informar o alias STATUS_PRECO) o agrupamento será apenas por embalagem, fazendo com que a consulta traga apenas as médias por embalagem e os status relativos aos três primeiros registros da consulta. Este comportamento é semelhante a quando o instrutor Vitorino, no vídeo, não fez o agrupamento por embalagem (o que ele corrigiu em seguida), quando a média trazida foi a geral e o status era o relativo ao primeiro registro da consulta.