SQL em poucas palavras (2)
Outra tarefa comum em bancos de dados é a agregação, ou seja, reduzir os dados, dividindo-os em partes e resumindo cada parte.
Isso é feito em SQL usando oGROUP BYcomando. Esse comando divide os dados em grupos e aplica uma função da instrução SELECT a cada grupo.
Por exemplo: se você quisesse contar o número de voos de cada um dos dois destinos de origem, poderia usar a consulta
SELECT COUNT(*) FROM flights
GROUP BY origin;
GROUP BY origin indica ao SQL que você quer que a saída tenha uma linha para cada valor único daorigincoluna. A instrução SELECT seleciona os valores que você deseja preencher em cada uma das colunas. Aqui, vamos usar COUNT() para contar cada linha de cada um dos grupos.
Com GROUP BY, é possível agrupar por mais de uma coluna. Quando você faz isso, a tabela resultante tem uma linha para cada combinação de valores exclusivos de cada coluna. A consulta a seguir conta o número de voos de SEA e PDX para cada aeroporto de destino:
SELECT origin, dest, COUNT(*) FROM flights
GROUP BY origin, dest;
O resultado terá uma linha para cada combinação dos valores de origin e dest (ou seja, uma linha listando cada origem e destino dos voos). Também haverá uma coluna com a contagem, COUNT(), de todas as linhas de cada grupo.
Lembra que dá pra encontrar uma explicação mais detalhada sobre SQL aqui.
Que informações essa consulta permite obter? Lembra queflightsa tabela contém informações sobre voos que partiram de PDX e SEA em 2014 e 2015. Observe que a função AVG() calcula o valor médio de uma coluna!
SELECT AVG(air_time) / 60 FROM flights
GROUP BY origin, carrier;
Este exercício faz parte do curso
Fundamentos do PySpark
Exercício interativo prático
Transforme a teoria em ação com um de nossos exercícios interativos
Começar o exercício