Поделиться через


HAVING (язык Entity SQL)

Задает условие поиска для группы или статистического выражения.

[ HAVING search_condition ]

Аргументы

  • search_condition
    Определяет условие поиска, которому должна соответствовать группа или статистическое выражение. Если предложение HAVING используется в сочетании с GROUP BY ALL, то оно переопределяет ALL.

Замечания

Предложение HAVING позволяет указать дополнительное условие фильтрации для результатов группирования. Если в выражении запроса не указано предложение GROUP BY, то предполагается неявным образом созданная группа, состоящая из одного набора.

Bb399595.note(ru-ru,VS.100).gifПримечание
Предложение 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. Для компиляции и запуска этого запроса выполните следующие шаги.

  1. Следуйте инструкциям в разделе Как выполнить запрос, возвращающий результаты типов-примитивов (EntityClient).

  2. Передайте следующий запрос в качестве аргумента методу ExecutePrimitiveTypeQuery:

SELECT VALUE name FROM AdventureWorksEntities.Products 
    as P GROUP BY P.Name HAVING MAX(P.ListPrice) > @price

См. также

Основные понятия

Справочник по Entity SQL
Выражения запросов (язык Entity SQL)