Partager via


Résumer ou agréger des valeurs pour toutes les lignes d’une table (Visual Database Tools)

s’applique à : SQL Server

Fonction d’agrégation

À l’aide d’une fonction d’agrégation, vous pouvez créer un résumé pour toutes les valeurs d’une table. Par exemple, vous pouvez créer une requête telle que la suivante pour afficher le prix total de tous les livres de la table titles :

SELECT SUM(price)
FROM titles;

Créez plusieurs agrégations dans la même requête à l’aide de fonctions d’agrégation avec plusieurs colonnes. Par exemple, vous pouvez créer une requête qui calcule le total de la colonne price et la moyenne de la colonne discount.

Vous pouvez agréger la même colonne de différentes manières (telles que le total, le comptage et la moyenne) dans la même requête. Par exemple, la requête suivante calcule la moyenne et résume la colonne price de la table titles :

SELECT AVG(price),
       SUM(price)
FROM titles;

Si vous ajoutez une condition de recherche, vous pouvez agréger le sous-ensemble de lignes qui répondent à cette condition.

Remarque

Vous pouvez également compter toutes les lignes de la table ou celles qui répondent à une condition spécifique. Pour plus d’informations, consultez Count rows in a table (Visual Database Tools).

Lorsque vous créez une valeur d’agrégation unique pour toutes les lignes d’une table, vous n’affichez que les valeurs d’agrégation elles-mêmes. Par exemple, si vous totalisez la valeur de la price colonne de la titles table, vous n’affichez pas non plus de titres individuels, de noms d’éditeur, et ainsi de suite.

Remarque

Si vous effectuez un sous-total ( autrement dit, la création de groupes) vous pouvez afficher des valeurs de colonne pour chaque groupe. Pour plus d’informations, consultez Grouper des lignes dans les résultats de requête (Visual Database Tools).

Valeurs d’agrégation pour toutes les lignes

  1. Vérifiez que la table que vous souhaitez agréger est déjà présente dans le volet Diagramme.

  2. Cliquez avec le bouton droit sur l’arrière-plan du volet Diagramme, puis choisissez Grouper par dans le menu contextuel. Les outils de concepteur de requêtes et de vues (Visual Database Tools) ajoutent une colonne Group By à la grille dans le volet Critères.

  3. Ajoutez la colonne que vous souhaitez agréger au volet Critères. Assurez-vous que la colonne est marquée pour la sortie.

    Le Concepteur de requêtes et de vues affecte automatiquement un alias de colonne à la colonne que vous résumez. Vous pouvez remplacer cet alias par un alias plus significatif. Pour plus d’informations, consultez Créer des alias de colonne (Visual Database Tools).

  4. Dans la colonne de grille Group By, sélectionnez la fonction d’agrégation appropriée, par exemple : Somme, Avg , Min, Max, Count. Si vous souhaitez agréger uniquement des lignes uniques dans le jeu de résultats, choisissez une fonction d’agrégation avec les DISTINCT options, telles que Min Distinct. Ne choisissez pas Group By, Expression ou Where, car ces options ne s’appliquent pas lorsque vous agrégeez toutes les lignes.

    Le Concepteur de requêtes et de vues remplace le nom de colonne dans l’instruction dans le volet SQL (Visual Database Tools) par la fonction d’agrégation que vous spécifiez. Par exemple, l’instruction SQL peut ressembler à ceci :

    SELECT SUM(price)
    FROM titles;
    
  5. Si vous souhaitez créer plusieurs agrégations dans la requête, répétez les étapes 3 et 4.

    Lorsque vous ajoutez une autre colonne à la liste de sortie de requête ou à la liste de tri, le Concepteur de requêtes et de vues remplit automatiquement le terme Group By dans la colonne Group By de la grille. Sélectionnez la fonction d’agrégation appropriée.

  6. Ajoutez des conditions de recherche, le cas échéant, pour spécifier le sous-ensemble de lignes que vous souhaitez résumer.

Lorsque vous exécutez la requête, le volet Résultats affiche les agrégations que vous avez spécifiées.

Remarque

Le Concepteur de requêtes et de vues gère les fonctions d’agrégation dans le volet SQL jusqu’à ce que vous désactiviez explicitement le mode Group By. Par conséquent, si vous modifiez votre requête en modifiant son type ou en modifiant les tables ou les objets table présents dans le volet Diagramme, la requête résultante peut inclure des fonctions d’agrégation non valides.