Olá. Na aula o instrutor demonstra que é possível agrupar os bairros da tabela de clientes e pegar a soma do limite de crédito:
SELECT BAIRRO, SUM([LIMITE DE CREDITO]) FROM [SUCOS_VENDAS].[dbo].[TABELA DE CLIENTES]
WHERE ESTADO = 'SP' GROUP BY BAIRRO;
O resultado dessa consulta é:
Então o instrutor mostra que é possível mostrar mais de uma coluna nos resultados, como a coluna ESTADO:
SELECT BAIRRO, ESTADO, SUM([LIMITE DE CREDITO]) FROM [SUCOS_VENDAS].[dbo].[TABELA DE CLIENTES]
WHERE ESTADO = 'SP' GROUP BY BAIRRO, ESTADO ORDER BY BAIRRO DESC;
E o resultado disso é exatamente o mesmo da imagem acima, quando a consulta não continha a coluna ESTADO. Nenhum bairro se repete nos resultados, mesmo tendo mais uma coluna no group by e ainda eu consigo ver o estado nos resultados:
Então realizei uma query para ver a soma do limite de credito por bairros, mas sem limitar ao estado de SP. Novamente o resultado não possui nenhuma repetição de bairros e continuo podendo ver os estados:
SELECT BAIRRO, ESTADO, SUM([LIMITE DE CREDITO]) FROM [SUCOS_VENDAS].[dbo].[TABELA DE CLIENTES]
GROUP BY BAIRRO, ESTADO;
Com isso pensei que eu poderia, por exemplo, pegar o valor máximo por embalagem na tabela de produtos e ao mesmo tempo ter o nome do produto que tem esse valor máximo. No caso:
SELECT [EMBALAGEM], [NOME DO PRODUTO], MAX([PREÇO DE LISTA]) FROM [SUCOS_VENDAS].[dbo].[TABELA DE PRODUTOS]
GROUP BY [EMBALAGEM], [NOME DO PRODUTO];
Porém, essa query não funciona como eu esperava. Em vez de me mostrar o mesmo resultado do GROUP BY só por EMBALAGEM, mas com o nome do produto, ele me retorna todos os produtos da tabela, como se ignorasse o group by:
Com isso, acho que eu não entendi de verdade a natureza do GroupBy com mais de uma coluna. Neste último exemplo eu esperava ver o mesmo resultado de
SELECT [EMBALAGEM], MAX([PREÇO DE LISTA]) FROM [TABELA DE PRODUTOS] GROUP BY [EMBALAGEM];
mas com a adição da coluna de nome do produto. Igual a query dos bairros em que eu pude ver a qual Estado pertencia o bairro. Se alguém puder explicar, agradeço desde já.