5.4 Trabalhando com agrupamentos GROUP BY#

A técnica de consulta agrupada é uma das técnicas mais utilizadas na análise de dados e permite realizar análises em diferentes níveis de detalhamento como “Qual é a venda por cidade?” ou “Quantos produtos vendemos por cliente” etc. As possibilidades são praticamente infinitas e para isso vamos aprender a utilizar a cláusula GROUP BY:

SELECT FUNÇÃO(nome_do_campo) AS nome_output
FROM tabela
GROUP BY <nome_do_campo1,nome_do_campo2, etc..>

Vamos supor por exemplo que estamos interessados em saber quantos clientes tempos por país. Esse é um caso muito comum do GROUP BY.

%%sql

SELECT Country, COUNT(Id) AS cliente
FROM 'Customer'
GROUP BY Country
LIMIT 5;
Country cliente
Argentina 3
Austria 2
Belgium 2
Brazil 9
Canada 3

Vamos entender melhor a sintaxe: na primeira linha da consulta (SELECT) nós estamos dizendo ao banco de dados que queremos que ele nos retorne a coluna Country e a contagem de ID de clientes (que sabemos ser única por ser uma chave primária). Na segunda linha dizemos que queremos buscar esses dados da tabela Customer (FROM) e por fim dizemos que queremos agrupar por país, ou seja, não queremos mais a contagem de todos os clientes como fizemos na seção anterior mas sim a contagem por país desse cliente. Se rodarmos a consulta vemos que temos 3 clientes da Argentina, 9 do Brasil, 2 da Áustria, etc: