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


Практическое руководство. Определение условий для групп

Группы, возвращаемые запросом, можно ограничить, задав условие для групп в целом с помощью предложения HAVING.Условие в приложении HAVING применяется после группировки и статистической обработки данных.Запрос возвращает только те группы, которые удовлетворяют условию.

Допустим, требуется посмотреть среднюю цену на все книги каждого издателя в таблице titles, если средняя цена превышает 10,00 долларов.В этом случае в предложении HAVING можно указать следующее условие: AVG(price) > 10.

ПримечаниеПримечание

Иногда требуется исключить из групп отдельные строки перед применением условия на всю группу.Дополнительные сведения см. в разделе Практическое руководство. Использование предложений HAVING и WHERE в одном запросе.

Предложение HAVING может содержать сложные условия, соединенные операторами AND и OR.Дополнительные сведения об использовании операторов AND и OR в условиях поиска см. в разделе Практическое руководство. Определение несколько условий поиска для одного столбца.

ПримечаниеПримечание

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска.Чтобы изменить параметры, в меню Сервис выберите команду Импорт и экспорт параметров.Дополнительные сведения см. в разделе Параметры Visual Studio.

Указание условия для группы

  1. Укажите группы для запроса.Дополнительные сведения см. в разделе Практическое руководство. Группировка строк в результатах запроса.

  2. Если она уже находится в области критериев, добавьте столбец, лежащий в основе условия.(Чаще всего условие содержит столбец, который является столбцом группы или суммарным столбцом.) Столбец, который отсутствует в агрегатной функции или предложении GROUP BY, использовать нельзя.

  3. В столбце Фильтр укажите условие, которое требуется применить к группе.

    конструктор запросов и представлений автоматически добавит предложение HAVING в инструкцию в области SQL, как показано в следующем примере:

    SELECT pub_id, AVG(price)
    FROM titles
    GROUP BY pub_id
    HAVING (AVG(price) > 10)
    
  4. Повторите шаги 2 и 3 для каждого дополнительного условия.

См. также

Задачи

Практическое руководство. Использование предложений HAVING и WHERE в одном запросе

Другие ресурсы

Сортировка и группировка результатов запроса