Maison > base de données > SQL > Comment utiliser les fonctions agrégées (SUM, AVG, COUNT, MIN, MAX) dans SQL?

Comment utiliser les fonctions agrégées (SUM, AVG, COUNT, MIN, MAX) dans SQL?

百草
Libérer: 2025-03-14 18:10:39
original
610 Les gens l'ont consulté

Comment utiliser les fonctions agrégées (SUM, AVG, COUNT, MIN, MAX) dans SQL?

Les fonctions agrégées dans SQL sont des outils puissants utilisés pour effectuer des calculs sur un ensemble de valeurs et renvoyer une seule valeur. Ils sont couramment utilisés en conjonction avec l'instruction SELECT pour récupérer les informations statistiques à partir d'une base de données. Explorons chacune des fonctions agrégées courantes:

  • SUMP : Cette fonction calcule la somme totale d'une colonne numérique. Il est utilisé pour additionner toutes les valeurs dans une colonne spécifiée. Par exemple, pour trouver les ventes totales dans un tableau de vente, vous utiliseriez:

     <code class="sql">SELECT SUM(sales_amount) FROM sales;</code>
    Copier après la connexion
  • AVG : Cette fonction calcule la moyenne d'une colonne numérique. Il est idéal pour trouver la valeur moyenne des données, telles que le prix moyen des articles vendus:

     <code class="sql">SELECT AVG(price) FROM products;</code>
    Copier après la connexion
  • Compte : cette fonction compte le nombre de lignes qui correspondent à un critère spécifié. Il est couramment utilisé pour obtenir le nombre d'enregistrements dans un tableau ou le nombre de valeurs non nulles dans une colonne:

     <code class="sql">SELECT COUNT(*) FROM customers; -- Counts all rows in the customers table SELECT COUNT(email) FROM customers; -- Counts non-null email entries</code>
    Copier après la connexion
  • MIN : Cette fonction renvoie la plus petite valeur d'une colonne spécifiée. Il est utile pour trouver la valeur minimale, comme le prix le plus bas d'une liste de produits:

     <code class="sql">SELECT MIN(price) FROM products;</code>
    Copier après la connexion
  • Max : cette fonction renvoie la valeur la plus importante dans une colonne spécifiée. Il peut être utilisé pour trouver la valeur la plus élevée, comme le salaire maximal dans un tableau des employés:

     <code class="sql">SELECT MAX(salary) FROM employees;</code>
    Copier après la connexion

Puis-je combiner plusieurs fonctions d'agrégats dans une seule requête SQL?

Oui, vous pouvez combiner plusieurs fonctions d'agrégats dans une seule requête SQL. Ceci est souvent utile lorsque vous devez obtenir plusieurs statistiques à partir du même ensemble de données. Voici un exemple qui montre comment utiliser SUM , AVG et COUNT dans une seule requête:

 <code class="sql">SELECT SUM(sales_amount) AS total_sales, AVG(sales_amount) AS average_sale, COUNT(*) AS number_of_sales FROM sales;</code>
Copier après la connexion

Dans cet exemple, la requête renvoie trois statistiques différentes sur le tableau des ventes: la somme totale des ventes, le montant moyen des ventes et le nombre de transactions de vente. En combinant les fonctions agrégées de cette manière, vous pouvez extraire efficacement plusieurs informations de résumé en une seule fois.

Quelles sont les différences entre l'utilisation du groupe avec les fonctions agrégées et sans elle?

L'utilisation GROUP BY avec des fonctions agrégées vous permet d'appliquer les fonctions aux groupes de lignes dans vos données, plutôt qu'à l'ensemble de données. Ceci est crucial pour générer des rapports de résumé ou des statistiques regroupées par certains critères. Voici la différence:

  • Sans groupe BY : lorsque vous utilisez des fonctions agrégées sans GROUP BY , la fonction est appliquée à l'ensemble des résultats. Par exemple:

     <code class="sql">SELECT AVG(salary) FROM employees;</code>
    Copier après la connexion

    Cette requête calculera le salaire moyen de tous les employés du tableau.

  • Avec le groupe BY : lorsque vous utilisez GROUP BY , la fonction agrégée est calculée séparément pour chaque groupe défini par la clause GROUP BY . Par exemple:

     <code class="sql">SELECT department, AVG(salary) AS avg_salary FROM employees GROUP BY department;</code>
    Copier après la connexion

    Cette requête calcule le salaire moyen de chaque département de la table employees . Le GROUP BY clause regroupe les lignes par département avant d'appliquer la fonction AVG , vous permettant de voir des statistiques spécifiques au département.

Comment puis-je gérer les valeurs nuls lors de l'utilisation de fonctions agrégées dans SQL?

La gestion des valeurs NULL est un aspect important du travail avec les fonctions agrégées dans SQL, car les valeurs NULL peuvent affecter les résultats de vos calculs. Voici des stratégies pour gérer les valeurs NULL avec différentes fonctions agrégées:

  • SUM et AVG : Ces fonctions ignorent automatiquement les valeurs NULL . Lors du calcul de la somme ou de la moyenne, SQL traite NULL comme si la ligne n'existait pas, vous n'avez donc pas besoin de prendre des mesures spéciales pour les gérer.
  • Compte : vous pouvez choisir d'inclure ou d'exclure des valeurs NULL en utilisant COUNT(*) ou COUNT(column_name) . COUNT(*) compte toutes les lignes, y compris celles avec des valeurs NULL , tandis que COUNT(column_name) ne compte que les valeurs non NULL dans la colonne spécifiée.
  • Min et Max : ces fonctions ignorent également les valeurs NULL . Ils renverront la valeur minimale ou maximale entre les valeurs non NULL dans la colonne spécifiée.

Si vous souhaitez inclure des valeurs NULL dans vos calculs, vous pouvez utiliser la fonction COALESCE ou IFNULL pour remplacer NULL par une valeur par défaut. Par exemple, pour compter toutes les lignes, y compris les valeurs NULL dans une colonne mais traitant NULL comme zéro pour SUM , vous pouvez utiliser:

 <code class="sql">SELECT COUNT(*) AS total_rows, SUM(COALESCE(sales_amount, 0)) AS total_sales FROM sales;</code>
Copier après la connexion

Dans cette requête, COALESCE remplace toute sales_amount NULL avec 0 avant que la SUM ne soit calculée, permettant aux valeurs NULL de contribuer au total en tant que zéro.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal