1
resposta

Uma explicação sobre a repetição da função CASE no Group By

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.

1 resposta

Olá Fábio, tudo bem?

Isso mesmo, se o CASE ou o alias não for utilizado no GROUP BY, o agrupamento será realizado apenas pelo campo embalagem. Bem legal que você compartilhou o seu entendimento acerca deste assunto aqui com a gente, sinal que você está adquirindo muito bem novos conhecimentos :), e isso poderá ajudar outros alunos que possam ter dúvidas sobre este assunto.

Continue assim e bons estudos!