Zum Inhalt springen

Das Suffix -If kann an den Namen jeder Aggregatfunktion angehängt werden. In diesem Fall akzeptiert die Aggregatfunktion ein zusätzliches Argument – eine Bedingung.

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>)

Tabelle erstellen und Beispieldaten einfügen

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');

Abfragedemo: Durchschnittsgehalt der IT-Abteilung berechnen

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

Ergebnis

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