Partager via


Spécifier des conditions pour les groupes (Visual Database Tools)

s’applique à : SQL Server

Vous pouvez limiter les groupes qui apparaissent dans une requête en spécifiant une condition qui s’applique à des groupes dans son ensemble - une HAVING clause. Une fois les données regroupées et agrégées, les conditions de la HAVING clause sont appliquées. Seuls les groupes qui répondent aux conditions s’affichent dans la requête.

Par exemple, vous pouvez voir le prix moyen de tous les livres pour chaque éditeur dans un tableau titles, mais uniquement si le prix moyen dépasse 10,00 $. Dans ce cas, vous pouvez spécifier une HAVING clause avec une condition telle que AVG(price) > 10.

Remarque

Dans certains cas, vous souhaiterez peut-être exclure des lignes individuelles des groupes avant d’appliquer une condition à des groupes dans son ensemble. Pour plus d’informations, consultez Utiliser des clauses HAVING et WHERE dans la même requête (Visual Database Tools).

Vous pouvez créer des conditions complexes pour une HAVING clause à l’aide AND et OR lier des conditions. Pour plus d’informations sur l’utilisation et dans les conditions de recherche, consultez Spécifier plusieurs conditions de recherche pour une colonne (Visual Database Tools).ORAND

Spécifier une condition pour un groupe

  1. Spécifiez les groupes de votre requête. Pour plus d’informations, consultez Regrouper des lignes dans les résultats de requête (Visual Database Tools).

  2. Si ce n’est pas déjà dans le volet Critères (Visual Database Tools) , ajoutez la colonne sur laquelle vous souhaitez baser la condition. (La condition implique souvent une colonne qui est déjà un groupe ou une colonne récapitulative.) Vous ne pouvez pas utiliser une colonne qui ne fait pas partie d’une fonction d’agrégation ou de la GROUP BY clause.

  3. Dans la colonne Filtre, spécifiez la condition à appliquer au groupe.

    Les outils de concepteur de requêtes et de vues (Visual Database Tools) créent automatiquement une HAVING clause dans l’instruction du volet SQL (Visual Database Tools) comme dans l’exemple suivant :

    SELECT pub_id,
           AVG(price)
    FROM titles
    GROUP BY pub_id
    HAVING (AVG(price) > 10);
    
  4. Répétez les étapes 2 et 3 pour chaque condition supplémentaire que vous souhaitez spécifier.