4
respostas

GROUP BY

SELECT EMBALAGEM, COUNT(*) AS CONTADOR FROM tabela_de_produtos GROUP BY EMBALAGEM

Boa tarde. Não entendi o pq esse código retorna o número de embalagens no count com o símbolo de all(*), não deveria ser mais específico para ele achar??? Fiquei perdido nesse ponto. Grato

4 respostas

Oi Danival, o COUNT, neste caso, só quer saber a contagem total de itens por grupo, por isso não precisa se específico.

O SUM é um exemplo em q vc tem q ser específico.

Ex.: Saber o valor todos dos preços em cada grupo

SELECT EMBALAGEM, COUNT(*) AS CONTADOR, FORMAT(SUM(PRECO_DE_LISTA),2) AS VALOR_TOTAL FROM TABELA_DE_PRODUTOS GROUP BY EMBALAGEM;

Bom dia. Me desculpa, mas ainda não entendi. Mais especificamente, qdo coloca o ALL no count, como ele sabe o q contar?

Primeiro acontece o GROUP BY

Então as embalagens são separadas em grupos.

Pense em caixas. Q vc separou as embalagens (pet, latas e garrafas) em caixa

Depois vc COUNT(*) cada caixa separadamente

Tente visualizar vc fazendo isso. Separando as embalagens em caixas (GROUP BY) e depois contando (COUNT) o total(*) de cada caixa

E se eu também desse select em mais alguma coisa, por exemplo: Select embalagem, fornecedor, count(*) as cont... O count contaria quantas embalagens e qtos fornecedores tenho?