-
Title:
Complex Queries 2 - Intro to Data Science
-
Description:
-
A última coisa sobre a qual quero
-
falar rapidamente são as mesmas funções que existem em
-
linguagens de consulta como SQL. Como group bys e
-
funções de agregação. Então, vamos dizer que quisesse
-
criar uma versão transformada dos meus dados. Por
-
exemplo, qual é o número total de matrículas por
-
distrito? . Eu poderia escrever algo como isto. SELECT
-
district,. SUM (aadhaar_generated) FROM aadhaar_data,
-
GROUP BY district. Vamos falar sobre isto
-
um pouco mais. O que está acontecendo exatamente?
-
. SUM é o que chamamos de função de agregação. Uma função de agregação pega um
-
conjunto de valores, normalmente números, e executa
-
uma operação matemática com eles. Usamos
-
SUM, mas outras funções de agregação incluem COUNT,
-
MIN, MEAN, MAX, você pegou a ideia.
-
Operações que uma pessoa pode executar com um conjunto
-
de números. Mas, espere. Cada linha é
-
apenas um número. Então, como chegamos
-
aos conjuntos de números? O que basicamente dizemos aqui
-
é pegar distrito distinto. Depois, para
-
todos os valores diferentes de aadhaar_generated correspondentes
-
a cada linha para esse distrito, a soma é
-
calculada. Vamos começar com nossa tabela de dados Aadhaar.
-
Pegue cada distrito e somente a contagem de
-
aadhaar_generated. Agora, para nossos resultados fazerem
-
sentido, queremos apenas uma linha
-
em nosso resultado para cada distrito. Então, jogamos
-
esta cláusula GROUP BY no final, que essencialmente
-
diz: vamos ter apenas uma linha por distrito em
-
nossos resultados. Pode haver várias cláusulas em um
-
GROUP BY. Podemos usar também SELECT district,
-
subdistrict, SUM aadhaar_generated, FROM aadhaar data, GROUP
-
BY district, subdistrict. Note que para quaisquer colunas que
-
selecionarmos, que não agregarmos, precisamos
-
agrupar por, neste caso, distrito e subdistrito. Também
-
poderíamos colocar uma cláusula WHERE aqui. Então,
-
para somar aadhaar_generated para pessoas
-
acima de 60 em cada distrito, posso apenas adicionar a cláusula WHERE após o nome da tabela,
-
como falamos anteriormente. Se fôssemos executar esta consulta, dado SELECT
-
district, subdistrict, SUM aadhaar generated, FROM aadhaar_data,
-
WHERE age > 60, GROUP BY district, subdistrict, se
-
fôssemos executar esta consulta, teríamos
-
uma linha para cada combinação de distrito e
-
subdistrito. E também teríamos para cada
-
linha, a contagem de quantos Aadhaar foram gerados para
-
pessoas acima de 60.