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


Указание условий для групп (визуальные инструменты для баз данных)

применимо к:SQL Server

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

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

Заметка

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

Можно создать сложные условия для HAVING предложения с помощью AND и OR связать условия. Дополнительные сведения об использовании AND и OR использовании условий поиска см. в разделе "Указание нескольких условий поиска" для одного столбца (визуальные инструменты для баз данных).

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

  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 для каждого дополнительного условия, которое необходимо указать.