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>
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>
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>
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>
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>
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>
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.
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>
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>
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.
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:
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.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.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>
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!