1
resposta

Não entendi o código abaixo

O código

SELECT [NOME DO PRODUTO],
    CASE 
        WHEN [PREÇO DE LISTA] >= 12 THEN 'PRODUTO CARO'
        WHEN [PREÇO DE LISTA] >= 7 AND [PREÇO DE LISTA] < 12 THEN 'PRODUTO EM CONTA'
        ELSE 'PRODUTO BARATO' 
    END,
AVG([PREÇO DE LISTA])
FROM 
[TABELA DE PRODUTOS]
GROUP BY [NOME DO PRODUTO],
    CASE 
        WHEN [PREÇO DE LISTA] >= 12 THEN 'PRODUTO CARO'
        WHEN [PREÇO DE LISTA] >= 7 AND [PREÇO DE LISTA] < 12 THEN 'PRODUTO EM CONTA'
        ELSE 'PRODUTO BARATO' 
    END

Não entendi por que este GROUP BY usando o CASE e por que depois do END tem este AVG. Enfim praticamente não entendi nada desse código.

1 resposta

NO CASE ELE QUER SABER MOSTRAR UM STATUS SOBRE O PREÇO, CARO EM CONTA E BARATO.

ELE FAZ O SELECT [NOME DO PRODUTO], E PASSA O CASE NO [PREÇO LISTA] AFIM DE RETORNA O STATUS. NO PREÇO MAIOR OU IGUAL A 12 = PRODUTO CARO NO PREÇO MAIOR OU IGUAL A 7 E MENOR QUE 12 = PRODUTO EM CONTA SE NAO É MAIOR QUE 12 E NEM ENTRE 7 E 12, SIGNIFICA QUE É MENOR QUE 7 ( ELSE) PRODUTO BARATO.

NO AVG([PREÇO DE LISTA]) ELE PEGA A MEDIA DOS PREÇOS .

FROM [TABELA DE PRODUTO]

AI VEM O [GROUP BY] PRA AGREGAR A TABELA DOS PRODUTOS A MEDIA DOS PREÇOS. E SEMPRE QUE VOCÊ FAZ UM GROUP BY O CONTEUDO DELE É O MESMO DA FUNÇÃO.

-- RESUMINDO DA O SELECT NA TABELA DE PRODUTO COLUNA NOME DO PRODUTO E PASSA O CASE COM A CONDIÇÃO PRA DEFINIR O STATUS, ACHA A MEDIA DOS PRODUTOS NA FUNÇÃO AVG E DEPOIS AGRUPA, PARA SABER A MÉDIA DOS PRODUTOS E O STATUS --

NÃO SEI SE FICOU MAIS SIMPLES MAIS ESPERO TER AJUDADO, UM CONSELHO PODE SER BOM VOLTAR LA E REVER A AULA, TALVEZ COM UMA NOVA VISÃO AJUDE A ENTENDER MELHO. BOA SORTE

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software