Maison > base de données > tutoriel mysql > le corps du texte

MySQL implémente la fonction d'analyse des données du système de commande

WBOY
Libérer: 2023-11-02 13:10:51
original
911 Les gens l'ont consulté

MySQL 实现点餐系统的数据分析功能

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 :

  1. 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)
    );
    Copier après la connexion
  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)
    );
    Copier après la connexion
  3. 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)
    );
    Copier après la connexion

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);
Copier après la connexion

Tableau des plats (plats) :

INSERT INTO dishes (dish_name, price) VALUES
('宫保鸡丁', 18.00),
('鱼香肉丝', 16.50),
('红烧肉', 23.80);
Copier après la connexion

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);
Copier après la connexion

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 :

  1. Comptez la quantité commandée et le montant total des ventes

    SELECT COUNT(*) AS order_count, SUM(total_amount) AS total_sales FROM orders;
    Copier après la connexion
  2. 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;
    Copier après la connexion
  3. 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;
    Copier après la connexion

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 :

  1. 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;
    Copier après la connexion

    Cette requête renverra les 3 plats les plus populaires (avec le plus de ventes).

  2. 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;
    Copier après la connexion

    Cette requête renverra le montant de consommation et le classement de chaque client.

  3. 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);
    Copier après la connexion

    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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal