コンテンツにスキップ

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

func.min_if(<column>, <cond>)
func.min_if(table.budget, table.departing=='IT').alias('min_it_budget')
| min_it_budget |
|---------------|
| 2000 |
MIN_IF(<column>, <cond>)

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

CREATE TABLE project_budgets (
id INT,
project_id INT,
department VARCHAR,
budget FLOAT
);
INSERT INTO project_budgets (id, project_id, department, budget)
VALUES (1, 1, 'HR', 1000),
(2, 1, 'IT', 2000),
(3, 1, 'Marketing', 3000),
(4, 2, 'HR', 1500),
(5, 2, 'IT', 2500);

クエリのデモ: IT 部門の最小予算を求める

SELECT MIN_IF(budget, department = 'IT') AS min_it_budget
FROM project_budgets;

結果

| min_it_budget |
|---------------|
| 2000 |