Table des matières
MySQL AVG示例
具有DISTINCT的MySQL AVG()函数
具有GROUP BY子句的MySQL AVG
具有HAVING子句的MySQL AVG
MySQL AVG()函数与子查询
具有NULL值的MySQL AVG函数
具有控制流函数的MySQL AVG
Exemple MySQL AVG
🎜Fonction MySQL AVG() avec DISTINCT🎜
🎜MySQL AVG avec la clause GROUP BY🎜
🎜MySQL AVG avec la clause HAVING🎜
🎜Fonction et sous-requête MySQL AVG()🎜
🎜Fonction MySQL AVG avec valeur NULL🎜
🎜MySQL AVG avec fonctions de flux de contrôle🎜
Maison base de données tutoriel mysql Comment trouver la valeur moyenne dans MySQL

Comment trouver la valeur moyenne dans MySQL

Dec 02, 2021 am 11:29 AM
mysql 平均值

Dans MySQL, vous pouvez utiliser la fonction AVG() pour trouver la moyenne. Cette fonction peut calculer la moyenne des données de colonne spécifiées en calculant le nombre de lignes renvoyées et la somme de chaque ligne de données ; (nom_colonne) FROM" nom_table".

Comment trouver la valeur moyenne dans MySQL

L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.

Dans MySQL, vous pouvez utiliser la fonction AVG() pour trouver la moyenne.

La fonction MySQL AVG() est une fonction d'agrégation utilisée pour calculer la moyenne d'un ensemble de valeurs ou d'expressions.

La fonction AVG() peut trouver la moyenne des données de colonne spécifiées en calculant le nombre de lignes renvoyées et la somme de chaque ligne de données. La syntaxe de la fonction

AVG() est la suivante :

SELECT AVG(column_name) FROM table_name;
Copier après la connexion

L'opérateur DISTINCT peut également être ajouté à la fonction AVG() pour calculer la moyenne de différentes valeurs. Par exemple, si vous disposez d'un ensemble de valeurs 1, 1, 2, 3, AVG( ) avec opération DISTINCT La fonction renverra la somme de différentes valeurs, soit : (1 + 2 + 3)/3 = 2.00 . 1123,具有DISTINCT操作的AVG()函数将返回不同值的和,即:(1 + 2 + 3)/3 = 2.00

MySQL AVG示例

我们将在示例数据库中使用products表进行演示,下图是products表的结构 -

mysql> desc products;
+--------------------+---------------+------+-----+---------+------------------+
| Field              | Type          | Null | Key | Default | Extra            |
+--------------------+---------------+------+-----+---------+------------------+
| productCode        | varchar(15)   | NO   | PRI |         |                  |
| productName        | varchar(70)   | NO   | MUL | NULL    |                  |
| productLine        | varchar(50)   | NO   | MUL | NULL    |                  |
| productScale       | varchar(10)   | NO   |     | NULL    |                  |
| productVendor      | varchar(50)   | NO   |     | NULL    |                  |
| productDescription | text          | NO   |     | NULL    |                  |
| quantityInStock    | smallint(6)   | NO   |     | NULL    |                  |
| buyPrice           | decimal(10,2) | NO   |     | NULL    |                  |
| MSRP               | decimal(10,2) | NO   |     | NULL    |                  |
| stockValue         | double        | YES  |     | NULL    | STORED GENERATED |
+--------------------+---------------+------+-----+---------+------------------+
10 rows in set
Copier après la connexion

要计算products表中所有产品的平均价格,可以使用AVG函数,如下查询:

SELECT AVG(buyprice) 'Avarage Price' FROM products;
Copier après la connexion

执行上面查询语句,得到以下结果 -

mysql> SELECT AVG(buyprice) 'Avarage Price' FROM products;
+---------------+
| Avarage Price |
+---------------+
| 54.395182     |
+---------------+
1 row in set
Copier après la connexion

请注意,FORMAT函数用于格式化AVG函数返回的平均值。

您可以向SELECT语句添加一个WHERE子句来计算子集值的平均值。 例如,要计算产品线为Classic Cars的产品的平均价格,您可以使用以下查询:

SELECT AVG(buyprice) 'Avarage Classic Cars Price'
FROM products
WHERE productline = 'Classic Cars';
Copier après la connexion

执行上面查询语句,得到以下结果 -

mysql> SELECT AVG(buyprice) 'Avarage Classic Cars Price'
FROM products
WHERE productline = 'Classic Cars';
+----------------------------+
| Avarage Classic Cars Price |
+----------------------------+
| 64.446316                  |
+----------------------------+
1 row in set
Copier après la connexion

具有DISTINCT的MySQL AVG()函数

有些产品价格相同,可以使用以下查询来检查它:

SELECT COUNT(buyprice) - COUNT(DISTINCT buyprice) FROM products;
Copier après la connexion

执行上面查询语句,得到以下结果 -

mysql> SELECT COUNT(buyprice) - COUNT(DISTINCT buyprice) FROM products;
+--------------------------------------------+
| COUNT(buyprice) - COUNT(DISTINCT buyprice) |
+--------------------------------------------+
|                                          2 |
+--------------------------------------------+
1 row in set
Copier après la connexion

可以使用AVG()函数通过添加DISTINCT运算符来计算不同价格的平均值,如下所示:

SELECT AVG(DISTINCT buyprice) FROM products;
Copier après la connexion

执行上面查询语句,得到以下结果 -

mysql> SELECT AVG(DISTINCT buyprice) FROM products;
+------------------------+
| AVG(DISTINCT buyprice) |
+------------------------+
| 54.372870              |
+------------------------+
1 row in set
Copier après la connexion

结果与使用DISTINCT操作符的平均价格略有不同。

具有GROUP BY子句的MySQL AVG

我们经常使用AVG函数与GROUP BY子句一起计算表中每组行的平均值。

例如,要计算每个产品线的产品的平均价格,您将使用带有GROUP BY子句的AVG函数,如下查询语句:

SELECT productline,
       AVG(buyprice) 'Avarage Price'
FROM products
GROUP BY productline;
Copier après la connexion

执行上面查询语句,得到以下结果 -

mysql> SELECT productline,
       AVG(buyprice) 'Avarage Price'
FROM products
GROUP BY productline;
+------------------+---------------+
| productline      | Avarage Price |
+------------------+---------------+
| Classic Cars     | 64.446316     |
| Motorcycles      | 50.685385     |
| Planes           | 49.629167     |
| Ships            | 47.007778     |
| Trains           | 43.923333     |
| Trucks and Buses | 56.329091     |
| Vintage Cars     | 46.066250     |
+------------------+---------------+
7 rows in set
Copier après la connexion

具有HAVING子句的MySQL AVG

您可以使用AVG函数中的HAVING子句中为分组的平均值设置条件。 例如,如果要仅选择产品平均价格大于50的产品线,则可以使用以下查询:

SELECT productline, AVG(buyprice) 'Avarage Price' FROM products GROUP BY productline HAVING AVG(buyprice) > 50;
Copier après la connexion

执行上面查询语句,得到以下结果 -

mysql> SELECT productline, AVG(buyprice) 'Avarage Price' FROM products GROUP BY productline HAVING AVG(buyprice) > 50;
+------------------+---------------+
| productline      | Avarage Price |
+------------------+---------------+
| Classic Cars     | 64.446316     |
| Motorcycles      | 50.685385     |
| Trucks and Buses | 56.329091     |
+------------------+---------------+
3 rows in set
Copier après la connexion

MySQL AVG()函数与子查询

您可以在SQL语句中多次使用AVG()函数来计算一组平均值的平均值。 例如,可以计算产品线平均购买价格的平均买价如下:

SELECT AVG(pl_avg) 'Average Product'
FROM (
    SELECT AVG(buyprice) pl_avg
    FROM products
    GROUP BY productline
) avgs;
Copier après la connexion

执行上面查询语句,得到以下结果 -

mysql> SELECT AVG(pl_avg) 'Average Product'
FROM (
    SELECT AVG(buyprice) pl_avg
    FROM products
    GROUP BY productline
) avgs;
+-----------------+
| Average Product |
+-----------------+
| 51.1553314286   |
+-----------------+
1 row in set
Copier après la connexion

怎么运行的 -

  • 子查询根据产品线计算平均购买价格。
  • 外部查询计算从子查询返回的产品线的平均购买价格的平均购买价格。

具有NULL值的MySQL AVG函数

AVG()函数忽略计算中的NULL值,请参阅以下示例:

首先,创建一个名为t的新表,其中有两列idvalval列可以包含NULL值。

CREATE TABLE IF NOT EXISTS t(
    id  int auto_increment primary key,
    val int
);
Copier après la connexion

其次,在t表中插入一些行,包括NULL值。

INSERT INTO t(val)
VALUES(1),(2),(nulL),(3);
Copier après la connexion

第三,使用AVG()函数计算val列中值的平均值:

SELECT AVG(val) FROM t;
Copier après la connexion

执行上面查询语句,得到以下结果 -

mysql> SELECT AVG(val) FROM t;
+----------+
| AVG(val) |
+----------+
| 2.0000   |
+----------+
1 row in set
Copier après la connexion

该语句按预期返回2,因为在AVG函数的计算中不包括NULL值。

具有控制流函数的MySQL AVG

要计算列的平均值,并在单个语句中有条件地计算相同列的平均值,可以使用具有控制流函数(如IFCASEIFNULLNULLIF等)的AVG函数。

例如,要计算Classic Cars产品线的平均价格与所有产品的平均价格的比例,请使用以下声明:

SELECT AVG(IF(productline='Classic Cars',buyprice,NULL)) / AVG(buyprice) 'Classic Cars/ Products'
FROM products;
Copier après la connexion

执行上面查询语句,得到以下结果 -

mysql> SELECT AVG(IF(productline='Classic Cars',buyprice,NULL)) / AVG(buyprice) 'Classic Cars/ Products'
FROM products;
+------------------------+
| Classic Cars/ Products |
+------------------------+
| 1.1847798580           |
+------------------------+
1 row in set
Copier après la connexion

如果产品线是Classic Cars,则IF(productline='Classic Cars',buyprice,NULL)表达式返回价格,否则返回NULL

Exemple MySQL AVG

Nous utiliserons la table products dans l'exemple de base de données pour la démonstration. L'image ci-dessous représente products. La structure du code> table-🎜rrreee🎜Pour calculer le prix moyen de tous les produits de la table <code>products, vous pouvez utiliser la fonction AVG, comme indiqué dans la requête suivante : 🎜rrreee🎜 Exécutez l'instruction de requête ci-dessus et obtenez les résultats suivants :🎜rrreee🎜 Notez que la fonction FORMAT est utilisée pour formater la valeur moyenne renvoyée par la fonction AVG. 🎜🎜Vous pouvez ajouter une clause WHERE à l'instruction SELECT pour calculer la moyenne d'un sous-ensemble de valeurs. Par exemple, pour calculer le prix moyen des produits avec la gamme de produits Classic Cars, vous pouvez utiliser la requête suivante : 🎜rrreee🎜Exécutez l'instruction de requête ci-dessus et obtenez les résultats suivants -🎜rrreee

🎜Fonction MySQL AVG() avec DISTINCT🎜

🎜Certains produits ont le même prix, vous pouvez utiliser la requête suivante pour le vérifier :🎜rrreee🎜Exécutez ce qui précède requête et obtenez les résultats suivants : 🎜rrreee 🎜Vous pouvez utiliser la fonction AVG() pour calculer la moyenne de différents prix en ajoutant l'opérateur DISTINCT, comme indiqué ci-dessous : 🎜rrreee🎜Exécutez la requête ci-dessus et obtenez les résultats suivants -🎜rrreee🎜Résultats et utilisationDISTINCT varient légèrement. 🎜

🎜MySQL AVG avec la clause GROUP BY🎜

🎜Nous utilisons souvent les fonctions AVG avec la clause GROUP BY Ensemble, calculons la moyenne de chaque ensemble de lignes du tableau. 🎜🎜Par exemple, pour calculer le prix moyen des produits dans chaque ligne de produits, vous utiliserez la fonction AVG avec la clause GROUP BY, comme dans la requête suivante : 🎜rrreee🎜Exécutez la requête ci-dessus et obtenez le résultat suivant - 🎜rrreee

🎜MySQL AVG avec la clause HAVING🎜

🎜Vous pouvez utiliser la clause HAVING dans l'AVG fonction Définir les conditions pour la moyenne du groupe dans . Par exemple, si vous souhaitez sélectionner uniquement les lignes de produits dont le prix moyen est supérieur à 50, vous pouvez utiliser la requête suivante : 🎜rrreee🎜Exécutez l'instruction de requête ci-dessus et obtenez les résultats suivants -🎜rrreee

🎜Fonction et sous-requête MySQL AVG()🎜

🎜Vous pouvez utiliser la fonction AVG() plusieurs fois dans une instruction SQL pour calculer la moyenne d'un ensemble de moyennes . Par exemple, le prix d'achat moyen du prix d'achat moyen de la gamme de produits peut être calculé comme suit : 🎜rrreee🎜Exécutez l'instruction de requête ci-dessus et obtenez les résultats suivants-🎜rrreee🎜Comment ça marche-🎜
  • 🎜Sous-requête🎜Calculez la moyenne en fonction du prix d'achat de la gamme de produits.
  • La requête externe calcule le prix d'achat moyen de la gamme de produits renvoyée par la sous-requête.

🎜Fonction MySQL AVG avec valeur NULL🎜

🎜La fonction AVG() ignore NULL dans les calculs code>, voir l'exemple suivant : 🎜🎜<em>Tout d'abord</em>, créez une nouvelle table nommée <code>t avec deux colonnes id Comme avec val , les colonnes val peuvent contenir des valeurs NULL. 🎜rrreee🎜Deuxièmement, insérez quelques lignes dans la table t, y compris les valeurs NULL. 🎜rrreee🎜Troisièmement, utilisez la fonction AVG() pour calculer la valeur moyenne des valeurs de la colonne val : 🎜rrreee🎜 Exécutez l'instruction de requête ci-dessus et obtenez les résultats suivants - 🎜rrreee🎜Cette instruction renvoie 2 comme prévu car la valeur NULL n'est pas incluse dans le calcul de la fonction AVG. 🎜

🎜MySQL AVG avec fonctions de flux de contrôle🎜

🎜Pour calculer la moyenne d'une colonne et calculer conditionnellement la moyenne de la même colonne dans une seule instruction, vous pouvez utilisez les fonctions AVG avec des fonctions de flux de contrôle (telles que IF, CASE, IFNULL, NULLIF, etc.). 🎜🎜Par exemple, pour calculer le rapport entre le prix moyen de la gamme de produits Classic Cars et le prix moyen de tous les produits, veuillez utiliser l'instruction suivante : 🎜rrreee🎜Exécutez l'instruction de requête ci-dessus et obtenez les résultats suivants : 🎜rrreee🎜Si la gamme de produits est Classic Cars, alors l'expression IF(productline='Classic Cars',buyprice,NULL) renvoie le prix, sinon, il renvoie NULL. 🎜

Parce que la fonction AVG ignore le prix moyen du NULL值,所以AVG(IF(productline ='Classic Cars',buyprice,NULL))表达式只计算产品线是Classic Cars produit dans le calcul.

【Recommandations associées : tutoriel vidéo mysql

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

MySQL: la facilité de gestion des données pour les débutants MySQL: la facilité de gestion des données pour les débutants Apr 09, 2025 am 12:07 AM

MySQL convient aux débutants car il est simple à installer, puissant et facile à gérer les données. 1. Installation et configuration simples, adaptées à une variété de systèmes d'exploitation. 2. Prise en charge des opérations de base telles que la création de bases de données et de tables, d'insertion, d'interrogation, de mise à jour et de suppression de données. 3. Fournir des fonctions avancées telles que les opérations de jointure et les sous-questionnaires. 4. Les performances peuvent être améliorées par l'indexation, l'optimisation des requêtes et le partitionnement de la table. 5. Prise en charge des mesures de sauvegarde, de récupération et de sécurité pour garantir la sécurité et la cohérence des données.

MySQL: Concepts simples pour l'apprentissage facile MySQL: Concepts simples pour l'apprentissage facile Apr 10, 2025 am 09:29 AM

MySQL est un système de gestion de base de données relationnel open source. 1) Créez une base de données et des tables: utilisez les commandes CreateDatabase et CreateTable. 2) Opérations de base: insérer, mettre à jour, supprimer et sélectionner. 3) Opérations avancées: jointure, sous-requête et traitement des transactions. 4) Compétences de débogage: vérifiez la syntaxe, le type de données et les autorisations. 5) Suggestions d'optimisation: utilisez des index, évitez de sélectionner * et utilisez les transactions.

Comment créer Navicat Premium Comment créer Navicat Premium Apr 09, 2025 am 07:09 AM

Créez une base de données à l'aide de NAVICAT Premium: Connectez-vous au serveur de base de données et entrez les paramètres de connexion. Cliquez avec le bouton droit sur le serveur et sélectionnez Créer une base de données. Entrez le nom de la nouvelle base de données et le jeu de caractères spécifié et la collation. Connectez-vous à la nouvelle base de données et créez le tableau dans le navigateur d'objet. Cliquez avec le bouton droit sur le tableau et sélectionnez Insérer des données pour insérer les données.

Comment ouvrir phpmyadmin Comment ouvrir phpmyadmin Apr 10, 2025 pm 10:51 PM

Vous pouvez ouvrir PHPMYADMIN via les étapes suivantes: 1. Connectez-vous au panneau de configuration du site Web; 2. Trouvez et cliquez sur l'icône PHPMYADMIN; 3. Entrez les informations d'identification MySQL; 4. Cliquez sur "Connexion".

MySQL et SQL: Compétences essentielles pour les développeurs MySQL et SQL: Compétences essentielles pour les développeurs Apr 10, 2025 am 09:30 AM

MySQL et SQL sont des compétences essentielles pour les développeurs. 1.MySQL est un système de gestion de base de données relationnel open source, et SQL est le langage standard utilisé pour gérer et exploiter des bases de données. 2.MySQL prend en charge plusieurs moteurs de stockage via des fonctions de stockage et de récupération de données efficaces, et SQL termine des opérations de données complexes via des instructions simples. 3. Les exemples d'utilisation comprennent les requêtes de base et les requêtes avancées, telles que le filtrage et le tri par condition. 4. Les erreurs courantes incluent les erreurs de syntaxe et les problèmes de performances, qui peuvent être optimisées en vérifiant les instructions SQL et en utilisant des commandes Explication. 5. Les techniques d'optimisation des performances incluent l'utilisation d'index, d'éviter la numérisation complète de la table, d'optimiser les opérations de jointure et d'améliorer la lisibilité du code.

Comment créer une nouvelle connexion à MySQL dans Navicat Comment créer une nouvelle connexion à MySQL dans Navicat Apr 09, 2025 am 07:21 AM

Vous pouvez créer une nouvelle connexion MySQL dans NAVICAT en suivant les étapes: ouvrez l'application et sélectionnez une nouvelle connexion (CTRL N). Sélectionnez "MySQL" comme type de connexion. Entrez l'adresse Hostname / IP, le port, le nom d'utilisateur et le mot de passe. (Facultatif) Configurer les options avancées. Enregistrez la connexion et entrez le nom de la connexion.

Comment exécuter SQL dans Navicat Comment exécuter SQL dans Navicat Apr 08, 2025 pm 11:42 PM

Étapes pour effectuer SQL dans NAVICAT: Connectez-vous à la base de données. Créez une fenêtre d'éditeur SQL. Écrivez des requêtes ou des scripts SQL. Cliquez sur le bouton Exécuter pour exécuter une requête ou un script. Affichez les résultats (si la requête est exécutée).

Navicat se connecte au code et à la solution d'erreur de base de données Navicat se connecte au code et à la solution d'erreur de base de données Apr 08, 2025 pm 11:06 PM

Erreurs et solutions courantes Lors de la connexion aux bases de données: nom d'utilisateur ou mot de passe (erreur 1045) Blocs de pare-feu Connexion (erreur 2003) Délai de connexion (erreur 10060) Impossible d'utiliser la connexion à socket (erreur 1042) Erreur de connexion SSL (erreur 10055) Trop de connexions Résultat de l'hôte étant bloqué (erreur 1129)

See all articles