A função AVG no SQL é amplamente utilizada para obter a média de valores a partir de um banco de dados. No entanto, o resultado pode incluir um grande número de casas decimais, o que pode dificultar a leitura, tornando necessário o arredondamento. Este artigo explica como utilizar a função ROUND para arredondar o resultado da função AVG, juntamente com uma explicação sobre o uso básico da função AVG.
Uso básico da função AVG
A função AVG é utilizada para calcular a média de uma coluna especificada. Abaixo está um exemplo básico de uso.
SELECT AVG(column_name) AS average_value
FROM table_name;
Essa consulta calcula a média da coluna column_name
da tabela table_name
e retorna o resultado com o alias average_value
. Por exemplo, ao calcular a média salarial dos funcionários, podemos utilizar a consulta da seguinte forma:
SELECT AVG(salary) AS average_salary
FROM employees;
Função ROUND para arredondamento
A função ROUND é utilizada para arredondar um número para um número específico de casas decimais. Abaixo está um exemplo básico de uso.
SELECT ROUND(number, decimal_places) AS rounded_value;
No parâmetro number
, insira o número que deseja arredondar, e no parâmetro decimal_places
, insira o número de casas decimais desejado após o arredondamento. Por exemplo, ao arredondar o número 123.4567 para duas casas decimais, a consulta seria a seguinte:
SELECT ROUND(123.4567, 2) AS rounded_value;
O resultado desta consulta será 123,46, retornado como rounded_value
.
Combinando a função AVG com a função ROUND
Ao combinar as funções AVG e ROUND, é possível calcular a média e arredondar o resultado ao mesmo tempo. Abaixo está um exemplo concreto:
SELECT ROUND(AVG(column_name), decimal_places) AS rounded_average
FROM table_name;
Por exemplo, ao calcular a média salarial dos funcionários e arredondar o resultado para duas casas decimais, a consulta seria da seguinte forma:
SELECT ROUND(AVG(salary), 2) AS rounded_average_salary
FROM employees;
Esta consulta calcula a média da coluna salary
na tabela employees
, arredonda o resultado para duas casas decimais e retorna como rounded_average_salary
.
Como especificar o número de casas decimais
O número de casas decimais a ser utilizado no arredondamento pode ser especificado como o segundo argumento da função ROUND. Isso permite arredondar o resultado da forma desejada.
A seguir, mostramos como arredondar para 1, 3 e 5 casas decimais.
Arredondar para 1 casa decimal
SELECT ROUND(AVG(salary), 1) AS rounded_average_salary
FROM employees;
Esta consulta arredonda a média salarial para uma casa decimal.
Arredondar para 3 casas decimais
SELECT ROUND(AVG(salary), 3) AS rounded_average_salary
FROM employees;
Esta consulta arredonda a média salarial para três casas decimais.
Arredondar para 5 casas decimais
SELECT ROUND(AVG(salary), 5) AS rounded_average_salary
FROM employees;
Esta consulta arredonda a média salarial para cinco casas decimais.
Dessa forma, ao ajustar o segundo argumento da função ROUND, é possível realizar o arredondamento com a precisão necessária.
Exemplo aplicado: arredondando a média por grupo
É possível combinar as funções AVG e ROUND para arredondar a média de valores para grupos específicos. Por exemplo, ao arredondar a média salarial por departamento para duas casas decimais, a consulta seria a seguinte:
SELECT department_id, ROUND(AVG(salary), 2) AS rounded_average_salary
FROM employees
GROUP BY department_id;
Esta consulta calcula a média salarial de cada departamento na tabela employees
, arredonda o resultado para duas casas decimais e retorna como rounded_average_salary
.
Exemplo: Média salarial por departamento
Por exemplo, os resultados podem ser semelhantes ao seguinte:
| department_id | rounded_average_salary |
|---------------|-------------------------|
| 1 | 6000.50 |
| 2 | 7200.75 |
| 3 | 5800.60 |
Ao utilizar a cláusula GROUP BY, é possível calcular e arredondar a média de valores para grupos específicos.
Conclusão
Neste artigo, aprendemos como arredondar o resultado da função AVG no SQL. Mostramos como calcular a média com a função AVG e arredondar o resultado para um número especificado de casas decimais com a função ROUND. Também mostramos um exemplo de aplicação, como o arredondamento da média salarial por departamento. Usando essas técnicas, você pode tornar os resultados das suas consultas mais fáceis de ler e interpretar.