Практическое руководство. Определение условий для групп
Группы, возвращаемые запросом, можно ограничить, задав условие для групп в целом с помощью предложения HAVING.Условие в приложении HAVING применяется после группировки и статистической обработки данных.Запрос возвращает только те группы, которые удовлетворяют условию.
Допустим, требуется посмотреть среднюю цену на все книги каждого издателя в таблице titles, если средняя цена превышает 10,00 долларов.В этом случае в предложении HAVING можно указать следующее условие: AVG(price) > 10.
Примечание |
---|
Иногда требуется исключить из групп отдельные строки перед применением условия на всю группу.Дополнительные сведения см. в разделе Практическое руководство. Использование предложений HAVING и WHERE в одном запросе. |
Предложение HAVING может содержать сложные условия, соединенные операторами AND и OR.Дополнительные сведения об использовании операторов AND и OR в условиях поиска см. в разделе Практическое руководство. Определение несколько условий поиска для одного столбца.
Примечание |
---|
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска.Чтобы изменить параметры, в меню Сервис выберите команду Импорт и экспорт параметров.Дополнительные сведения см. в разделе Параметры Visual Studio. |
Указание условия для группы
Укажите группы для запроса.Дополнительные сведения см. в разделе Практическое руководство. Группировка строк в результатах запроса.
Если она уже находится в области критериев, добавьте столбец, лежащий в основе условия.(Чаще всего условие содержит столбец, который является столбцом группы или суммарным столбцом.) Столбец, который отсутствует в агрегатной функции или предложении GROUP BY, использовать нельзя.
В столбце Фильтр укажите условие, которое требуется применить к группе.
конструктор запросов и представлений автоматически добавит предложение HAVING в инструкцию в области SQL, как показано в следующем примере:
SELECT pub_id, AVG(price) FROM titles GROUP BY pub_id HAVING (AVG(price) > 10)
Повторите шаги 2 и 3 для каждого дополнительного условия.
См. также
Задачи
Практическое руководство. Использование предложений HAVING и WHERE в одном запросе