Maison > Article > base de données > MySQL implémente la fonction d'analyse des données du système de commande
MySQL est un système de gestion de bases de données relationnelles couramment utilisé dans diverses applications. Dans les systèmes de commande, les fonctions d’analyse des données sont très importantes pour les restaurateurs. Cet article expliquera comment utiliser MySQL pour implémenter la fonction d'analyse des données du système de commande et joindra des exemples de code spécifiques.
1. Créer une table de données
Tout d'abord, nous devons créer une base de données et la table de données correspondante. Supposons que notre système de commande dispose des principaux tableaux de données suivants :
Commandes : stocke les informations relatives aux commandes des clients, notamment le numéro de commande, l'identifiant client, l'heure de la commande, le montant total, etc.
CREATE TABLE orders ( order_id INT PRIMARY KEY AUTO_INCREMENT, customer_id INT, order_time DATETIME, total_amount DECIMAL(10, 2) );
Plats : stocke des informations sur tous les plats, y compris l'identifiant du plat, le nom du plat, le prix, etc.
CREATE TABLE dishes ( dish_id INT PRIMARY KEY AUTO_INCREMENT, dish_name VARCHAR(50), price DECIMAL(10, 2) );
Tableau des détails de la commande (order_details) : Enregistrez les plats et leurs quantités incluses dans chaque commande.
CREATE TABLE order_details ( order_id INT, dish_id INT, quantity INT, PRIMARY KEY (order_id, dish_id) );
2. Insérer les données de test
Ensuite, nous devons insérer des données de test dans le tableau de données pour l'analyse des données. Supposons que nous ayons les données de test suivantes :
Tableau des commandes (commandes) :
INSERT INTO orders (customer_id, order_time, total_amount) VALUES (1, '2021-01-01', 25.50), (2, '2021-01-02', 50.00), (3, '2021-01-03', 35.75);
Tableau des plats (plats) :
INSERT INTO dishes (dish_name, price) VALUES ('宫保鸡丁', 18.00), ('鱼香肉丝', 16.50), ('红烧肉', 23.80);
Tableau des détails de la commande (order_details) :
INSERT INTO order_details (order_id, dish_id, quantity) VALUES (1, 1, 2), (1, 2, 1), (2, 2, 3), (3, 1, 1), (3, 3, 2);
3. Statistiques de données de base
Utilisez MySQL pour l'analyse des données. cette fois, nous pouvons obtenir les données requises via quelques instructions de requête SQL de base. Voici quelques exemples de requêtes de statistiques de données couramment utilisés :
Comptez la quantité commandée et le montant total des ventes
SELECT COUNT(*) AS order_count, SUM(total_amount) AS total_sales FROM orders;
Comptez la quantité totale des ventes et le montant total des ventes de chaque plat
SELECT dishes.dish_name, SUM(order_details.quantity) AS total_quantity, SUM(order_details.quantity * dishes.price) AS total_sales FROM dishes JOIN order_details ON dishes.dish_id = order_details.dish_id GROUP BY dishes.dish_id;
Interrogez la quantité commandée de un certain client et le montant total de la consommation
SELECT customer_id, COUNT(*) AS order_count, SUM(total_amount) AS total_expense FROM orders WHERE customer_id = 1;
4. Analyse avancée des données
En plus des fonctions statistiques de base des données, si nous souhaitons effectuer une analyse de données plus complexe, nous pouvons utiliser les fonctions d'agrégation, le filtrage conditionnel, le tri et d'autres fonctionnalités de MySQL. en combinaison. Voici quelques exemples de requêtes pour une analyse avancée des données :
Requête des plats les plus populaires (avec le plus de ventes)
SELECT dishes.dish_name, SUM(order_details.quantity) AS total_quantity FROM dishes JOIN order_details ON dishes.dish_id = order_details.dish_id GROUP BY dishes.dish_id ORDER BY total_quantity DESC LIMIT 3;
Cette requête renverra les 3 plats les plus populaires (avec le plus de ventes).
Requête du classement du montant de consommation de chaque client
SELECT customer_id, SUM(total_amount) AS total_expense, RANK() OVER (ORDER BY SUM(total_amount) DESC) AS expense_rank FROM orders GROUP BY customer_id;
Cette requête renverra le montant de consommation et le classement de chaque client.
Requête du montant total des ventes et du montant moyen des ventes par jour
SELECT DATE(order_time) AS order_date, SUM(total_amount) AS total_sales, AVG(total_amount) AS average_sales FROM orders GROUP BY DATE(order_time);
Cette requête renverra le montant total des ventes et le montant moyen des ventes par jour.
Pour résumer, en utilisant diverses fonctions et syntaxes de MySQL, nous pouvons réaliser la fonction d'analyse des données du système de commande. Dans les applications pratiques, nous pouvons effectuer une analyse et une optimisation plus approfondies des données en fonction de besoins spécifiques et de scénarios commerciaux. MySQL fournit des outils et des fonctions puissants pour répondre à nos différents besoins d'analyse de données.
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!