Aller au contenu

Le suffixe -If peut être ajouté au nom de n’importe quelle fonction d’agrégation. Dans ce cas, la fonction d’agrégation accepte un argument supplémentaire : une condition.

func.avg_if(<column>, <cond>)
func.avg_if(table.salary, table.department=='IT').alias('avg_salary_it')
| avg_salary_it |
|-----------------|
| 65000.0 |
AVG_IF(<column>, <cond>)

Créer une table et insérer des données d’exemple

CREATE TABLE employees (
id INT,
salary INT,
department VARCHAR
);
INSERT INTO employees (id, salary, department)
VALUES (1, 50000, 'HR'),
(2, 60000, 'IT'),
(3, 55000, 'HR'),
(4, 70000, 'IT'),
(5, 65000, 'IT');

Exemple de requête : calculer le salaire moyen du service informatique

SELECT AVG_IF(salary, department = 'IT') AS avg_salary_it
FROM employees;

Résultat

| avg_salary_it |
|-----------------|
| 65000.0 |