Maison > Article > base de données > mysql utilise la jointure avec la fonction d'agrégation
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 :
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 :
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!