Resumo : neste tutorial, você aprenderá como usar a VARIANCE()
função MySQL para calcular a variância populacional de um conjunto de valores em uma coluna de uma tabela.
Introdução à função MySQL VARIANCE()
Por definição, uma variância é uma média das diferenças quadradas da média. Para calcular a variação, siga estas etapas:
- Primeiro, calcule as médias dos números.
- Em segundo lugar, subtraia a média do número e eleve ao quadrado o resultado. O resultado é chamado de diferença quadrática.
- Por fim, calcule a média das diferenças quadradas.
No MySQL, você usa a VARIANCE()
função para calcular a variação populacional de números em uma coluna de uma tabela.
Aqui está a sintaxe da VARIANCE()
função:
SELECT VARIANCE(numeric_expression)
FROM table_name;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta sintaxe:
numeric_exprssion
: a variação aceita um argumento que pode ser uma expressão numérica ou uma coluna numérica.table_name
: o nome da tabela que contém a coluna.
Se numeric_expression
for nulo ou a coluna não tiver linhas, a VARIANCE()
função retornará NULL
.
Observe que a VARIANCE()
função é equivalente à VAR_POP()
função. A VAR_POP()
função é um SQL padrão, enquanto a VARIANCE()
função não é.
Exemplos de VARIANCE do MySQL
Vejamos alguns exemplos de uso da VARIANCE()
função.
1) Exemplo de função VARIANCE simples
Primeiro, crie uma nova tabela chamada apples
que tenha três colunas id
, color
e weight
:
CREATE TABLE apples(
id INT AUTO_INCREMENT,
color VARCHAR(255) NOT NULL,
weight DECIMAL(6,2) NOT NULL,
PRIMARY KEY(id)
);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Segundo, insira algumas linhas na apples
tabela:
INSERT INTO apples (color, weight) VALUES
('Red', 0.6),
('Green', 0.4),
('Yellow', 0.35),
('Red', 0.28),
('Green', 0.42),
('Orange', 0.38),
('Red', 0.31),
('Purple', 0.45),
('Green', 0.37),
('Yellow', 0.33);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Terceiro, consulte os dados da apples
tabela:
SELECT * FROM apples;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+----+--------+--------+
| id | color | weight |
+----+--------+--------+
| 1 | Red | 0.60 |
| 2 | Green | 0.40 |
| 3 | Yellow | 0.35 |
| 4 | Red | 0.28 |
| 5 | Green | 0.42 |
| 6 | Orange | 0.38 |
| 7 | Red | 0.31 |
| 8 | Purple | 0.45 |
| 9 | Green | 0.37 |
| 10 | Yellow | 0.33 |
+----+--------+--------+
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Finalmente, calcule a variância populacional da weight
tabela apples
:
SELECT color, VARIANCE(weight)
FROM apples
GROUP BY color;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+--------+------------------------+
| color | VARIANCE(weight) |
+--------+------------------------+
| Red | 0.020822222222222218 |
| Green | 0.0004222222222222221 |
| Yellow | 0.00009999999999999934 |
| Orange | 0 |
| Purple | 0 |
+--------+------------------------+
5 rows in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Aqui está como você interpreta a variação:
- A baixa variância indica que os pesos estão próximos da média sugerindo menor variabilidade (amarelo e verde).
- A alta variância sugere que os pesos estão afastados da média, indicando maior variabilidade (vermelho).
- Zero significa que não há variação. As maçãs laranja e roxa têm uma única linha, então a variância é zero.
2) Utilização da função VARIANCE para calcular a variação da quantidade em estoque de produtos
Usaremos a products
tabela do banco de dados de exemplo :
A consulta a seguir usa a VARIANCE
função para calcular a variação da quantidade em estoque por linha de produto:
SELECT
productLine,
CAST(
VARIANCE (quantityInStock) as DECIMAL(10, 2)
) var
FROM
products
GROUP BY
productLine
ORDER BY
var;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+------------------+-------------+
| productLine | var |
+------------------+-------------+
| Ships | 4243681.14 |
| Trucks and Buses | 4855676.15 |
| Planes | 7335654.08 |
| Classic Cars | 8079830.03 |
| Vintage Cars | 8136973.06 |
| Trains | 8455640.22 |
| Motorcycles | 10638768.40 |
+------------------+-------------+
7 rows in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A saída indica que os estoques Ships
são bastante consistentes ou próximos do valor médio dessa linha de produtos, enquanto os estoques Motorcycles
têm a maior variabilidade.
Resumo
- Use a função MySQL
VARIANCE()
para calcular a variação de um conjunto de valores em uma coluna de uma tabela.