Maison  >  Article  >  base de données  >  mysql utilise la jointure avec la fonction d'agrégation

mysql utilise la jointure avec la fonction d'agrégation

巴扎黑
巴扎黑original
2017-05-11 10:52:121654parcourir

Les fonctions d'agrégation sont utilisées pour résumer les données. Bien que tous les exemples de fonctions d'agrégation jusqu'à présent ne résument que les données d'une seule table, ces fonctions peuvent également être utilisées avec des jointures. Pour illustrer cela, prenons un exemple. Si vous souhaitez récupérer tous les clients et le nombre de commandes passées par chaque client, le code suivant utilisant la fonction COUNT() peut faire l'affaire :

Entrez :

select customers.cust_name,customers.cust_id,count(order_num) as num_ord from customers inner join orders on customers.cust_id = orders.cust_id group by custo,=mers.cust_id;

Sortie :

mysql utilise la jointure avec la fonction dagrégation

Analyse : Cette instruction SELECT utilise INNER JOIN pour relier les tables clients et commandes les unes aux autres. La clause GROUP BY regroupe les données par client, de sorte que l'appel de fonction COUNT(orders.order_num) compte les commandes pour chaque client et les renvoie sous la forme num_ord.

Les fonctions d'agrégation peuvent également être facilement utilisées avec d'autres jointures. Veuillez consulter l'exemple ci-dessous :

Entrée :

select customers.cust_name,customers.cust_id,count(order_num) as num_ord from customers left outer join orders on customers.cust_id = orders.cust_id group by custo,=mers.cust_id;

Sortie :

mysql utilise la jointure avec la fonction dagrégation

mysql utilise la jointure avec la fonction dagrégation

Analyse : Cet exemple utilise une jointure externe gauche pour inclure tous les clients, même ceux qui n'ont passé aucune commande. Les résultats montrent que le client Mouse House est également inclus et qu’il compte 0 commande.

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