Introdução rápida ao SQL (2)
Outra tarefa comum em bancos de dados é a agregação, ou seja, reduzir os dados, dividindo-os em partes e resumindo cada parte.
Em SQL, isso é feito usando o comando GROUP BY
. 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
informa ao SQL que você deseja que a saída tenha uma linha para cada valor exclusivo da coluna origin
. 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.
Lembre-se de que você encontra uma visão mais detalhada do SQL aqui.
Que informações essa consulta permite obter? Lembre-se de que a tabela flights
contém informações sobre os 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
Introdução ao PySpark
Exercício interativo prático
Transforme a teoria em ação com um de nossos exercícios interativos
