La fonction AVG en SQL est largement utilisée pour obtenir des valeurs moyennes à partir d’une base de données. Cependant, les résultats peuvent parfois comporter un grand nombre de chiffres après la virgule, rendant nécessaire un arrondi pour une meilleure lisibilité. Cet article explique en détail l’utilisation de base de la fonction AVG ainsi que la méthode pour arrondir les résultats en utilisant la fonction ROUND.
Utilisation de base de la fonction AVG
La fonction AVG est utilisée pour calculer la moyenne des valeurs d’une colonne spécifiée. Voici un exemple d’utilisation basique.
SELECT AVG(column_name) AS average_value
FROM table_name;
Cette requête calcule la moyenne des valeurs de la colonne column_name
de la table table_name
et renvoie le résultat sous le nom d’alias average_value
. Par exemple, pour calculer le salaire moyen à partir des données salariales des employés, vous pouvez utiliser la requête suivante :
SELECT AVG(salary) AS average_salary
FROM employees;
La fonction ROUND pour effectuer un arrondi
La fonction ROUND est utilisée pour arrondir un nombre à un certain nombre de décimales. Voici un exemple d’utilisation basique.
SELECT ROUND(number, decimal_places) AS rounded_value;
Dans ce cas, number
est le nombre à arrondir, et decimal_places
est le nombre de décimales après l’arrondi. Par exemple, pour arrondir le nombre 123.4567 à deux décimales, vous utiliseriez la requête suivante :
SELECT ROUND(123.4567, 2) AS rounded_value;
Le résultat de cette requête serait 123,46 en tant que rounded_value
.
Combinaison des fonctions AVG et ROUND
En combinant les fonctions AVG et ROUND, vous pouvez calculer une moyenne et ensuite arrondir le résultat. Voici un exemple concret :
SELECT ROUND(AVG(column_name), decimal_places) AS rounded_average
FROM table_name;
Par exemple, pour calculer la moyenne des salaires des employés et arrondir le résultat à deux décimales, vous utiliseriez la requête suivante :
SELECT ROUND(AVG(salary), 2) AS rounded_average_salary
FROM employees;
Cette requête calcule la moyenne des salaires dans la table employees
et arrondit le résultat à deux décimales, retournant la valeur sous le nom d’alias rounded_average_salary
.
Comment spécifier le nombre de décimales
Le deuxième argument de la fonction ROUND permet de spécifier le nombre de décimales. Cela vous permet d’arrondir les résultats à n’importe quel nombre de décimales souhaité.
Par exemple, voici comment arrondir à 1, 3 et 5 décimales :
Arrondir à 1 décimale
SELECT ROUND(AVG(salary), 1) AS rounded_average_salary
FROM employees;
Cette requête arrondit le salaire moyen à une décimale.
Arrondir à 3 décimales
SELECT ROUND(AVG(salary), 3) AS rounded_average_salary
FROM employees;
Cette requête arrondit le salaire moyen à trois décimales.
Arrondir à 5 décimales
SELECT ROUND(AVG(salary), 5) AS rounded_average_salary
FROM employees;
Cette requête arrondit le salaire moyen à cinq décimales.
En ajustant le deuxième argument de la fonction ROUND, vous pouvez arrondir les résultats à la précision nécessaire.
Exemple avancé : arrondir les moyennes par groupe
Il est également possible de combiner les fonctions AVG et ROUND pour arrondir les moyennes de groupes spécifiques. Par exemple, pour arrondir le salaire moyen par département à deux décimales, vous pouvez utiliser la requête suivante :
SELECT department_id, ROUND(AVG(salary), 2) AS rounded_average_salary
FROM employees
GROUP BY department_id;
Cette requête calcule la moyenne des salaires pour chaque département dans la table employees
et arrondit le résultat à deux décimales sous le nom d’alias rounded_average_salary
.
Exemple : salaire moyen par département
Par exemple, vous pouvez obtenir un résultat comme celui-ci :
| department_id | rounded_average_salary |
|---------------|-------------------------|
| 1 | 6000.50 |
| 2 | 7200.75 |
| 3 | 5800.60 |
De cette manière, en utilisant la clause GROUP BY, vous pouvez calculer et arrondir la moyenne pour chaque groupe spécifique.
Conclusion
Nous avons appris comment arrondir les résultats de la fonction AVG en SQL. Nous avons présenté la méthode pour calculer une moyenne avec la fonction AVG et arrondir les résultats à un certain nombre de décimales avec la fonction ROUND. En outre, nous avons montré des exemples avancés, tels que l’arrondissement des salaires moyens par département. En utilisant ces techniques, vous pouvez rendre les résultats de vos requêtes de base de données plus lisibles et plus compréhensibles.