HAVING
HAVING
— необязательный (опциональный) параметр оператора SELECT
для указания условия на результат агрегатных функций (MAX, SUM, AVG, …).
HAVING <условия>
аналогичен WHERE <условия>
за исключением того, что строки отбираются не по значениям столбцов, а строятся из значений столбцов указанных в GROUP BY и значений агрегатных функций, вычисленных для каждой группы, образованной GROUP BY.
Необходимо, чтобы в SELECT были заданы только требуемые в выходном потоке столбцы, перечисленные в GROUP BY и/или агрегированные значения. Распространённая ошибка — указание в SELECT столбца, пропущенного в GROUP BY.
Если параметр GROUP BY в SELECT не задан, HAVING применяется к «группе» всех строк таблицы, полностью дублируя WHERE
(допускается не во всех реализациях стандарта SQL).
Примеры
Возвращает список идентификаторов отделов, продажи которых превысили 1000 долларов за 1 января 2000 года, вместе с суммами продаж за этот день.
SELECT DeptID, SUM(SaleAmount) FROM Sales
WHERE SaleDate = '01-Jan-2000'
GROUP BY DeptID
HAVING SUM(SaleAmount) > 1000
Ссылки
- C.J. Date. Continuing our discussion of redundancy in SQL Greevous Bodily Harm(рус.)(Проверено 5 февраля 2010)
SQL | Это незавершённая статья о компьютерных языках. Вы можете помочь проекту, исправив и дополнив её. |
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....