Resumo : neste tutorial, você aprenderá sobre as funções agregadas do SQLite para encontrar o máximo, mínimo, média, soma e contagem de um conjunto de valores.
Visão geral das funções agregadas do SQLite
As funções agregadas operam em um conjunto de linhas e retornam um único resultado. Funções agregadas são frequentemente usadas em conjunto com cláusulas GROUP BY
e HAVING
na SELECT
instrução.
SQLite fornece as seguintes funções agregadas:
AVG()
– retorna o valor médio de um grupo.COUNT()
– retorna o número de linhas que correspondem a uma condição especificadaMAX()
– retorna o valor máximo em um grupo.MIN()
– retorna o valor mínimo em um grupoSUM()
– retorna a soma dos valoresGROUP_CONCAT(expression, separator)
– retorna uma string que é a concatenação de todos os valores não NULL da entradaexpression
separados porseparator
.
Sintaxe da função agregada SQLite
O seguinte mostra a sintaxe de chamada de uma função agregada, exceto a GROUP_CONCAT()
função:
aggregate_function (DISTINCT | ALL expression)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta sintaxe:
- Primeiro, especifique o nome da função agregada, como
AVG
,SUM
ouCOUNT
. - Segundo, especifique a expressão à qual a função agregada se aplica.
DISTINCT
instrui a função agregada a considerar apenas valores únicos no cálculo, enquanto ALL
permite que a função agregada receba todos os valores, incluindo duplicatas, em seu cálculo.
A imagem a seguir ilustra a SUM()
função agregada:
Exemplos de funções agregadas SQLite
Usaremos a tracks
tabela do banco de dados de exemplo para a demonstração:
AVG()
Exemplo de função SQLite
A seguinte declaração encontra a duração média de todas as faixas de cada álbum:
SELECT
AlbumId,
ROUND(AVG(Milliseconds) / 60000 ,0) "Average In Minutes"
FROM
Tracks
GROUP BY
AlbumId;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Aqui está a saída:
Neste exemplo:
- Primeiro, a
GROUP BY
cláusula divide as faixas por ID do álbum em grupos. - Em seguida, a
AVG()
função se aplica a cada grupo que possui o mesmo ID de álbum para calcular a duração média das faixas.
COUNT()
Exemplo de função SQLite
A instrução a seguir retorna o número de linhas da tracks
tabela:
SELECT
COUNT(*)
FROM
tracks;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Para encontrar os álbuns e a contagem de faixas correspondente, use a seguinte instrução:
SELECT
AlbumId,
COUNT(TrackId) track_count
FROM
tracks
GROUP BY
AlbumId
ORDER BY
track_count DESC;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
SUM()
Exemplo de função SQLite
O exemplo a seguir usa a SUM()
função para calcular a duração de cada álbum em minutos:
SELECT
AlbumId,
SUM(Milliseconds) / 60000 Minutes
FROM
tracks
GROUP BY
AlbumId;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
MAX()
Exemplo de função SQLite
Para encontrar o tempo mais longo de todas as faixas, você usa a MAX()
função da seguinte forma:
SELECT
MAX(Milliseconds) / 60000 Minutes
FROM
tracks;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Para encontrar as faixas cujo comprimento é maior, você usa a subconsulta :
SELECT
TrackId,
Name,
Milliseconds
FROM
tracks
WHERE
Milliseconds = (
SELECT
MAX(Milliseconds)
FROM
tracks);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste exemplo, a consulta externa retorna a trilha cujo comprimento é igual ao tempo mais longo de todas as trilhas retornadas pela subconsulta.
MIN()
Exemplo de função SQLite
Da mesma forma, a instrução a seguir encontra a trilha cujo comprimento é mais curto usando a MIN()
função:
SELECT
TrackId,
Name,
Milliseconds
FROM
tracks
WHERE
Milliseconds = (
SELECT
MIN(Milliseconds)
FROM
tracks);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
GROUP_CONCAT()
Exemplo de função SQLite
A instrução a seguir usa a GROUP_CONCAT()
função para retornar uma lista separada por vírgulas do nome da faixa do ID do álbum 10:
SELECT
GROUP_CONCAT(name)
FROM
tracks
WHERE
AlbumId = 10;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste tutorial, você aprendeu sobre as funções agregadas do SQLite e como aplicá-las para calcular agregações.