コンテンツにスキップ

接尾辞 -If は、任意の集計関数の名前に付加できます。この場合、集計関数は追加の引数として条件を受け取ります。

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

テーブルの作成とサンプルデータの挿入

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

クエリのデモ: IT 部門の平均給与を計算する

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

結果

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