Les fonctions d'agrégation MySQL sont les suivantes :
函数 | 作用 |
---|---|
avg() | 返回某列的平均值 |
count() | 返回某列的行数 |
max() | 返回某列的最大值 |
min() | 返回某列的最小值 |
sum() | 返回某列值的和 |
(1) fonction count()
(2) fonction sum()
(3 )avg () fonction
(4)max() fonction
(5)min() fonction
(Recommandation d'apprentissage gratuite : Tutoriel vidéo mysql)
[Exemple 1] Interrogez le nombre total de lignes dans la table clients. L'instruction SQL est la suivante :
mysql> select count(*) as cust_num -> from customers;+----------+| cust_num |+----------+| 4 |+----------+1 row in set (0.06 sec)
À partir des résultats de la requête, count(*) renvoie le total. nombre de lignes enregistrées dans la table clients, quelle que soit sa valeur. Le total renvoyé est nommé cus_num.
[Exemple 2] Interrogez le nombre total de clients ayant des adresses e-mail dans la table clients. L'instruction SQL est la suivante :
mysql> select count(c_email) as email_num -> from customers;+-----------+| email_num |+-----------+| 3 |+-----------+1 row in set (0.00 sec)
Les différents résultats des deux exemples ci-dessus indiquent que les deux Les méthodes traitent null lors du calcul du nombre total. La méthode de valeur est différente, c'est-à-dire que les lignes avec des valeurs vides dans la colonne spécifiée sont ignorées par la fonction count(), mais si la colonne n'est pas spécifiée et que * est utilisé dans le fonction count(), tous les enregistrements ne seront pas ignorés.
[Exemple 3] Dans le tableau orderitems, utilisez la fonction count() avec le mot-clé group by pour calculer le nombre total d'enregistrements dans différents groupes. Fonction
mysql> select o_num,count(f_id) -> from orderitems -> group by o_num;+-------+-------------+| o_num | count(f_id) |+-------+-------------+| 30001 | 4 || 30002 | 1 || 30003 | 1 || 30004 | 1 || 30005 | 4 |+-------+-------------+5 rows in set (0.00 sec)
[Exemple] Recherchez la quantité totale de fruits achetés pour la commande 30005 dans la table orderitems. L'instruction SQL est la suivante :
mysql> select sum(quantity) as items_total -> from orderitems -> where o_num = 30005;+-------------+| items_total |+-------------+| 30 |+-------------+1 row in set (0.05 sec)
sum() peut être utilisée avec group. par. Calculez la somme de chaque groupe.
[Exemple] Dans la table orderitems, utilisez la fonction sum() pour compter la quantité totale de fruits commandés dans différents numéros de commande. L'instruction SQL est la suivante :
mysql> select o_num,sum(quantity) as items_total -> from orderitems -> group by o_num;+-------+-------------+| o_num | items_total |+-------+-------------+| 30001 | 33 || 30002 | 2 || 30003 | 100 || 30004 | 50 || 30005 | 30 |+-------+-------------+5 rows in set (0.00 sec)
Quand la somme. la fonction calcule, la valeur est ignorée.
[Exemple 1] Dans la table des fruits, interrogez le prix moyen des fruits du fournisseur avec s_id=103 L'instruction SQL est la suivante :
mysql> select avg(f_price) as avg_price -> from fruits -> where s_id = 103;+-----------+| avg_price |+-----------+| 5.700000 |+-----------+1 row in set (0.05 sec)
[Exemple 2] Dans Dans la table des fruits, interrogez le prix moyen des fruits de chaque fournisseur, l'instruction SQL est la suivante :
mysql> select s_id,avg(f_price) as avg_price -> from fruits -> group by s_id;+------+-----------+| s_id | avg_price |+------+-----------+| 104 | 7.000000 || 101 | 6.200000 || 103 | 5.700000 || 107 | 3.600000 || 102 | 8.933333 || 105 | 7.466667 || 106 | 15.700000 |+------+-----------+7 rows in set (0.00 sec)
group by password regroupe les enregistrements en fonction du champ s_id, puis calcule la valeur moyenne de chaque groupe. regroupement La méthode de moyenne est très utile. Par exemple, trouvez les scores moyens des étudiants dans différentes classes, trouvez le salaire moyen des travailleurs de différents départements, trouvez la température annuelle moyenne à divers endroits, etc. La fonction
[Exemple 1] Trouvez la valeur du fruit le plus cher du marché dans la table des fruits. L'instruction SQL est la suivante :
mysql> select max(f_price) as max_price from fruits;+-----------+| max_price |+-----------+| 15.70 |+-----------+1 row in set (0.05 sec)
[Exemple 2] Trouvez la valeur fournie par. différents fournisseurs dans la table des fruits La valeur du fruit avec le prix le plus élevé, l'instruction SQL est la suivante :
mysql> select s_id,max(f_price) as max_price -> from fruits -> group by s_id;+------+-----------+| s_id | max_price |+------+-----------+| 104 | 7.60 || 101 | 10.20 || 103 | 9.20 || 107 | 3.60 || 102 | 11.20 || 105 | 11.60 || 106 | 15.70 |+------+-----------+7 rows in set (0.00 sec)
[Exemple 3] Trouvez la valeur maximale de f_name dans la table des fruits, l'instruction SQL est la suivante : Fonction
mysql> select max(f_name) from fruits;+-------------+| max(f_name) |+-------------+| xxxx |+-------------+1 row in set (0.00 sec)
- min() renvoie la valeur minimale dans la colonne de requête.
[Exemple 1] Trouvez la valeur du fruit au prix le plus bas du marché dans la table des fruits. L'instruction SQL est la suivante :
mysql> select min(f_price) as min_price -> from fruits;+-----------+| min_price |+-----------+| 2.20 |+-----------+1 row in set (0.00 sec)
[Exemple 2] Trouvez le prix le plus bas fourni par différents fournisseurs. dans la table des fruits Pour les jus de fruits, l'instruction SQL est la suivante :
mysql> select s_id,min(f_price) as min_price -> from fruits -> group by s_id;+------+-------------+| s_id | min_price |+------+-------------+| 104 | 6.40 || 101 | 3.20 || 103 | 2.20 || 107 | 3.60 || 102 | 5.30 || 105 | 2.60 || 106 | 15.70 |+------+-------------+7 rows in set (0.00 sec)
Recommandations d'apprentissage gratuites associées : base de données mysql (vidéo)
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!