ホームページ  >  記事  >  データベース  >  MySQLは受発注システムのデータ分析機能を実装

MySQLは受発注システムのデータ分析機能を実装

WBOY
WBOYオリジナル
2023-11-02 13:10:51824ブラウズ

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

MySQL は、さまざまなアプリケーションで広く使用されている、一般的に使用されるリレーショナル データベース管理システムです。オーダーシステムにおいて、飲食店経営者にとってデータ分析機能は非常に重要です。この記事では、MySQLを利用して受発注システムのデータ分析機能を実装する方法と、具体的なコード例を紹介します。

1. データ テーブルの作成
まず、データベースと対応するデータ テーブルを作成する必要があります。注文システムには次の主要なデータ テーブルがあるとします。

  1. 注文テーブル (注文): 注文番号、顧客 ID、注文時間、合計金額、顧客の注文に関連する情報を保存します。等

    CREATE TABLE orders (
      order_id INT PRIMARY KEY AUTO_INCREMENT,
      customer_id INT,
      order_time DATETIME,
      total_amount DECIMAL(10, 2)
    );
  2. 料理: 料理 ID、料理名、価格など、すべての料理に関する情報を保存します。

    CREATE TABLE dishes (
      dish_id INT PRIMARY KEY AUTO_INCREMENT,
      dish_name VARCHAR(50),
      price DECIMAL(10, 2)
    );
  3. 注文詳細テーブル (order_details): 各注文に含まれる料理とその数量を記録します。

    CREATE TABLE order_details (
      order_id INT,
      dish_id INT,
      quantity INT,
      PRIMARY KEY (order_id, dish_id)
    );

2. テスト データの挿入
次に、データ分析のためにデータ テーブルにテスト データを挿入する必要があります。次のテスト データがあるとします。

注文テーブル (orders):

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);

料理テーブル (dishes):

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

注文詳細テーブル (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. 基本的なデータ統計
MySQL をデータ分析に使用する場合、いくつかの基本的な SQL クエリ ステートメントを通じて必要なデータを取得できます。一般的に使用されるデータ統計クエリの例を次に示します。

  1. 注文数量と総売上高に関する統計

    SELECT COUNT(*) AS order_count, SUM(total_amount) AS total_sales FROM orders;
  2. 総売上数量に関する統計各料理の内容と総売上金額

    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;
  3. 顧客の注文数量と総消費量を照会

    SELECT customer_id, COUNT(*) AS order_count, SUM(total_amount) AS total_expense
    FROM orders
    WHERE customer_id = 1;

4. 高度なデータ分析
基本的なデータ統計関数に加えて、より複雑なデータ分析を実行したい場合は、MySQL の集計関数、条件付きフィルタリング、ソートなどの機能を組み合わせて使用​​できます。以下に、高度なデータ分析のためのクエリの例をいくつか示します。

  1. 最も人気のある料理 (売上が最も多い) をクエリする

    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;

    このクエリは、次の上位 3 項目を返します。一番売れている一品。

  2. 各顧客の消費量ランキングのクエリ

    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;

    このクエリは、各顧客の消費量とランキングを返します。

  3. 1 日あたりの総売上高と平均売上高をクエリする

    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);

    このクエリは、1 日あたりの総売上高と平均売上高を返します。

まとめると、MySQL のさまざまな関数と構文を使用することで、発注システムのデータ分析機能を実現できます。実際のアプリケーションでは、特定のニーズとビジネス シナリオに基づいて、さらなるデータ分析と最適化を行うことができます。 MySQL は、さまざまなデータ分析のニーズを満たす強力なツールと機能を提供します。

以上がMySQLは受発注システムのデータ分析機能を実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。