MySQL est un système de gestion de bases de données relationnelles populaire. Il fournit non seulement des fonctions de base d'exploitation des données, mais prend également en charge le calcul et le traitement de données complexes. Cet article explique comment utiliser les instructions SQL pour effectuer des calculs et des traitements de données complexes dans MySQL, et fournit des exemples de code spécifiques.
MySQL fournit un ensemble de fonctions d'agrégation pour calculer un ensemble de données afin d'obtenir un résultat récapitulatif. Les fonctions d'agrégation couramment utilisées incluent : SUM, AVG, MIN, MAX, COUNT, etc. Voici des exemples de calculs de données utilisant ces fonctions d'agrégation :
1.1 Calculer le montant total de toutes les commandes
SELECT SUM(total_price) AS total_sum FROM orders;
1.2 Calculer le montant moyen de toutes les commandes
SELECT AVG(total_price) AS avg_price FROM orders;
1.3 Calculer le montant maximum de la commande et l'identifiant client correspondant
SELECT MAX(total_price) AS max_price, customer_id FROM orders GROUP BY customer_id ORDER BY max_price DESC LIMIT 1;
Une sous-requête est une instruction de requête imbriquée dans une autre instruction SQL, qui peut effectuer un traitement de groupe, un filtrage et un calcul de données. Voici un exemple d'utilisation de sous-requêtes pour le traitement des données :
2.1 Calculez le dernier montant de la commande de chaque client
SELECT customer_id, total_price FROM orders WHERE (customer_id, created_at) IN (SELECT customer_id, MAX(created_at) FROM orders GROUP BY customer_id);
2.2 Supprimez les clients dont le montant total de la commande est inférieur à 100
DELETE FROM customers WHERE id IN (SELECT DISTINCT customer_id FROM orders GROUP BY customer_id HAVING SUM(total_price) < 100);
La requête de table commune consiste à connecter plusieurs tables en fonction de champs associés pour obtenir des ensembles de données associés. Les requêtes de tables communes peuvent fusionner, filtrer et calculer des données. Voici un exemple d'utilisation d'une requête de table commune pour le traitement de données multi-tables :
3.1 Calculez le montant total de la commande et le montant total du paiement de chaque client
SELECT customers.id, customers.name, SUM(orders.total_price) AS total_order_sum, SUM(payments.amount) AS total_payment_sum FROM customers LEFT JOIN orders ON customers.id = orders.customer_id LEFT JOIN payments ON customers.id = payments.customer_id GROUP BY customers.id;
3.2 Recherchez les clients qui ont passé plus de deux commandes en même temps
SELECT customer_id FROM orders GROUP BY customer_id HAVING COUNT(*) >= 2;
Cet article explique comment utiliser des instructions SQL pour effectuer des calculs et des traitements de données complexes dans MySQL, y compris l'utilisation de fonctions d'agrégation, de sous-requêtes, de requêtes de table de jointure et d'autres technologies. Grâce à ces technologies, nous pouvons traiter plus efficacement les données de bases de données à grande échelle et obtenir les résultats requis.
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!