Практическое руководство. Определение условий для групп
Обновлен: Ноябрь 2007
Группы, возвращаемые запросом, можно ограничить, задав условие для групп в целом с помощью предложения 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 в одном запросе