HAVING (язык Entity SQL)
Задает условие поиска для группы или статистического выражения.
[ HAVING search_condition ]
Аргументы
- search_condition
Определяет условие поиска, которому должна соответствовать группа или статистическое выражение. Если предложение HAVING используется в сочетании с GROUP BY ALL, то оно переопределяет ALL.
Замечания
Предложение HAVING позволяет указать дополнительное условие фильтрации для результатов группирования. Если в выражении запроса не указано предложение GROUP BY, то предполагается неявным образом созданная группа, состоящая из одного набора.
Примечание |
---|
Предложение HAVING можно использовать только в инструкции SELECT (язык Entity SQL).Если отсутствует предложение GROUP BY (язык Entity SQL), то предложение HAVING работает так же, как и предложение WHERE. |
Предложение HAVING работает точно так же, как и предложение WHERE, за исключением того, что применяется после операции GROUP BY. Это означает, что предложение HAVING может ссылаться только на псевдонимы и статистические выражения группирования, как показано в следующем примере.
SELECT Name, SUM(o.Price * o.Quantity) AS Total FROM orderLines AS o GROUP BY o.Product AS Name
HAVING SUM(o.Quantity) > 1
Предыдущий пример производится ограничение до тех групп, которые содержат более одного товара.
Пример
В следующем запросе Entity SQL операторы HAVING и GROUP BY задают условие поиска для группы или статистического выражения. Запрос основан на модели AdventureWorks Sales. Для компиляции и запуска этого запроса выполните следующие шаги.
Следуйте инструкциям в разделе Как выполнить запрос, возвращающий результаты типов-примитивов (EntityClient).
Передайте следующий запрос в качестве аргумента методу
ExecutePrimitiveTypeQuery
:
SELECT VALUE name FROM AdventureWorksEntities.Products
as P GROUP BY P.Name HAVING MAX(P.ListPrice) > @price
См. также
Основные понятия
Справочник по Entity SQL
Выражения запросов (язык Entity SQL)