Выражение HAVING

Выражение HAVING может использоваться после выражения GROUP BY для задания критериев фильтрации после завершения группировки. По синтаксису выражение HAVING идентично выражению WHERE, но если выражение WHERE используется до группировки, то выражение HAVING — после нее.

Синтаксис

SELECT ...
FROM ...
GROUP BY ...
HAVING <predicate>
[ ... ]

Параметры

  • <predicate>
    Булево выражение.

Примеры

  • Подсчитаем количество записей в таблице employees (работников), которые содержат каждый из различных отделов, отбрасывая отделы с количеством меньше 10:

    SELECT department, count(*)
    FROM employees
    GROUP BY department
    HAVING count(*) >= 10;
  • Вычислим среднюю зарплату для каждого отдела каждого подразделения , но только для тех отделов, где средняя зарплата больше, чем медианная зарплата:

    SELECT division, department, avg(salary)
    FROM employees
    GROUP BY division, department
    HAVING avg(salary) > median(salary);