5.3 Funções Agregadas#

As funções agregadas são essenciais para o analista de dados. Elas permitem reduzir ou agregar uma série de campos para um único valor ou alguns poucos valores. Embora seu funcionamento seja muito simples quando analisadas individualmente, sua combinação com os demais comandos do SQL permite realizar consultas extremamente poderosas em grandes volumes de dados. Para utilizar uma função aplicamos ela no atributo que queremos como input e damos um nome para o output utilizando o alias AS:

SELECT FUNÇÃO(nome_do_campo) AS nome_output
FROM tabela

Por exemplo, se quiséssemos somar as vendas da Northwind de todos os pedidos através da consulta abaixo, obteríamos que a Northwind vendeu uma quantidade total de 51317 unidades:

%%sql

SELECT SUM(Quantity) AS qtd_vendida FROM 'OrderDetail'
qtd_vendida
51317

Outra consulta muito comum é a de contagem (count), por exemplo, para saber quantos pedidos foram realizados faríamos:

%%sql
SELECT COUNT(Id) as pedidos FROM 'Order'
pedidos
830

Em alguns casos, o que importa não é uma simples contagem mas os valores únicos da tabela. Por exemplo, se quiséssemos saber de quantos países nossos clientes vem através de uma contagem da coluna country chegaríamos a um valor de 91 países quando na verdade são apenas 21 únicos:

%%sql

SELECT COUNT(Country) AS paises, COUNT(DISTINCT(Country)) AS paises_unicos
FROM 'Customer';
paises paises_unicos
91 21

As principais funções agregadas em SQL são:

Função

Descrição

Exemplo Sintaxe

SUM

Soma os valores da coluna

SELECT MAX(UnitPrice) FROM Products

COUNT

Conta os valores da coluna

SELECT COUNT(Id) FROM Products

COUNT(DISTINCT)

Conta os valores únicos da coluna

SELECT COUNT(DISTINCT(ProductName)) FROM Products

AVG

Calcula a média

SELECT AVG(UnitPrice) FROM Products

MAX

Calcula o valor máximo

SELECT MAX(UnitPrice) FROM Products

MIN

Calcula o valor mínimo

SELECT MIN(UnitPrice) FROM Products