Maison >base de données >tutoriel mysql >Maîtriser les fonctions d'agrégation MySQL : simplifier l'analyse des données

Maîtriser les fonctions d'agrégation MySQL : simplifier l'analyse des données

WBOY
WBOYoriginal
2024-09-07 06:00:32666parcourir

Dans le monde actuel de prise de décision basée sur les données, l’efficacité et la précision sont les clés du succès. Les fonctions d'agrégation de MySQL sont des outils puissants qui permettent aux utilisateurs de calculer, d'analyser et de résumer rapidement des données. Cet article vous présentera les fonctions d'agrégation de MySQL, rendant les opérations de données complexes simples et efficaces.

Outils :
-Base de données : communauté MySQL 8.1
-IHM graphique : SQLynx Pro 3.5.0

Exemples de données :

CREATE TABLE student_score (
  id INT PRIMARY KEY,
  name VARCHAR(50),
  subject VARCHAR(50),
  score INT
);

INSERT INTO
  student_score (id, name, subject, score)
VALUES
  (1, 'Tom', 'Math', 80),
  (2, 'Tom', 'English', 90),
  (3, 'Tim', 'English', 98),
  (4, 'Alice', 'Math', 85),
  (5, 'Alice', 'English', 87),
  (6, 'Bob', 'Math', 78),
  (7, 'Bob', 'Science', null),
  (8, 'Charlie', 'History', 92),
  (9, 'Charlie', 'Math', 81),
  (10, 'Diana', 'English', 93);

1. COMPTE()

  • Objectif : renvoie le nombre de lignes qui correspondent à une condition spécifiée.
  • Remarque : COUNT(*) compte toutes les lignes, y compris celles avec des valeurs NULL. COUNT(column) compte les valeurs non NULL dans la colonne spécifiée.
  • Exemple :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

2. SOMME()

  • Objectif : renvoie la somme des valeurs dans une colonne numérique.
  • Remarque : Seules les valeurs non NULL sont incluses dans la somme. Si toutes les valeurs sont NULL, il renvoie NULL.
  • Exemple :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

3. MOYENNE()

  • Objectif : Calcule la valeur moyenne d'une colonne numérique.
  • Remarque : Seules les valeurs non NULL sont prises en compte. AVG() renvoie NULL s'il n'y a pas de valeurs non NULL.
  • Exemple :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

4. MAX()

  • Objectif : renvoie la valeur maximale d'une colonne.
  • Remarque : Fonctionne avec les types numériques, date et chaîne. Ignore les valeurs NULL.
  • Exemple :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

5.MIN()

  • Objectif : renvoie la valeur minimale d'une colonne.
  • Remarque : Comme MAX(), il fonctionne avec les types numériques, date et chaîne et ignore les valeurs NULL.
  • Exemple :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

6. GROUP_CONCAT()

  • Objectif : Concatène les valeurs d'une colonne en une seule chaîne, avec un séparateur facultatif.
  • Remarque : Utile pour regrouper des chaînes de différentes lignes en une seule. Vous pouvez spécifier un séparateur (la valeur par défaut est une virgule). Seules les valeurs non NULL sont concaténées.
  • Exemple :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

7. JSON_ARRAYAGG()

  • Objectif : agrège les valeurs de plusieurs lignes dans un tableau JSON.
  • Remarque : Il convertit le jeu de résultats d'une colonne en un tableau JSON. Seules les valeurs non NULL sont incluses dans le tableau résultant.
  • Exemple :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

8. JSON_OBJECTAGG()

  • Objectif : agrège les paires clé-valeur de plusieurs lignes dans un objet JSON.
  • Remarque : Le premier argument fournit les clés et le second fournit les valeurs de l'objet JSON résultant. Seules les paires clé-valeur non NULL sont incluses dans le résultat.
  • Exemple :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

9. MST()

  • Objectif : calcule l'écart type d'une colonne numérique, reflétant le degré de variation ou de dispersion dans l'ensemble de données.
  • Remarque : STD() et STDDEV() sont des alias pour STDDEV_POP(), qui calcule l'écart type de la population. Seules les valeurs non NULL sont prises en compte. Si vous devez calculer l'écart type de l'échantillon, utilisez STDDEV_SAMP().
  • Exemple :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

10. STD_SAMP()

  • Objectif : calcule l'écart type de l'échantillon d'une colonne numérique, fournissant une mesure de la répartition des valeurs dans un exemple d'ensemble de données.
  • Remarque : Seules les valeurs non NULL sont prises en compte. Contrairement à STD() ou STDDEV(), qui calculent l'écart type de la population, STD_SAMP() est spécifiquement utilisé pour les données d'échantillon, en divisant par n-1 pour tenir compte du biais de taille d'échantillon.
  • Exemple :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

11. VAR_POP()

  • Objectif : calcule la variance de la population d'une colonne numérique, en mesurant la répartition des points de données dans l'ensemble de la population.
  • Remarque : Seules les valeurs non NULL sont prises en compte. VAR_POP() est utilisé lorsque les données représentent la population entière, en divisant par n (le nombre total de points de données).
  • Exemple :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

12. VAR_SAMP()

  • Objectif : calcule la variance de l'échantillon d'une colonne numérique, en mesurant la répartition des points de données dans un échantillon.
  • Remarque : Seules les valeurs non NULL sont prises en compte. VAR_SAMP() est utilisé lorsque les données représentent un échantillon de la population, en divisant par n-1 pour ajuster la taille de l'échantillon et éviter les biais.
  • Exemple :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

13. BIT_ET()

  • Objectif : renvoie le ET au niveau du bit de toutes les valeurs d'une colonne.
  • Remarque : Fonctionne sur des valeurs entières et ignore les entrées NULL.
  • Exemple :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

14. BIT_OR()

  • Objectif : renvoie le OU au niveau du bit de toutes les valeurs d'une colonne.
  • Remarque : Semblable à BIT_AND(), il fonctionne sur des nombres entiers.
  • Exemple :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis

15. BIT_XOR()

  • Objectif : renvoie le XOR au niveau du bit de toutes les valeurs d'une colonne.
  • Remarque : XOR au niveau du bit peut être utile pour les contrôles de parité ou des tâches similaires.
  • Exemple :

Mastering MySQL Aggregate Functions: Simplifying Data Analysis


Ces fonctions d'agrégation offrent des moyens puissants de résumer, calculer et manipuler les données, ce qui en fait des outils essentiels pour l'analyse des données et la création de rapports. Lorsque vous les utilisez, réfléchissez à la manière dont ils gèrent les valeurs NULL et soyez conscient des exigences spécifiques du mode SQL ou de la version MySQL (par exemple, fonctions JSON).

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