Pular para o conteúdo

O sufixo -If pode ser acrescentado ao nome de qualquer função de agregação. Nesse caso, a função de agregação aceita um argumento extra: uma condição.

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

Criar uma tabela e inserir dados de exemplo

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

Demonstração de consulta: calcular o salário médio do departamento de TI

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

Resultado

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