MySQL は、さまざまなアプリケーションで広く使用されている、一般的に使用されるリレーショナル データベース管理システムです。オーダーシステムにおいて、飲食店経営者にとってデータ分析機能は非常に重要です。この記事では、MySQLを利用して受発注システムのデータ分析機能を実装する方法と、具体的なコード例を紹介します。
1. データ テーブルの作成
まず、データベースと対応するデータ テーブルを作成する必要があります。注文システムには次の主要なデータ テーブルがあるとします。
注文テーブル (注文): 注文番号、顧客 ID、注文時間、合計金額、顧客の注文に関連する情報を保存します。等
CREATE TABLE orders ( order_id INT PRIMARY KEY AUTO_INCREMENT, customer_id INT, order_time DATETIME, total_amount DECIMAL(10, 2) );
料理: 料理 ID、料理名、価格など、すべての料理に関する情報を保存します。
CREATE TABLE dishes ( dish_id INT PRIMARY KEY AUTO_INCREMENT, dish_name VARCHAR(50), price DECIMAL(10, 2) );
注文詳細テーブル (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 クエリ ステートメントを通じて必要なデータを取得できます。一般的に使用されるデータ統計クエリの例を次に示します。
注文数量と総売上高に関する統計
SELECT COUNT(*) AS order_count, SUM(total_amount) AS total_sales FROM orders;
総売上数量に関する統計各料理の内容と総売上金額
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;
顧客の注文数量と総消費量を照会
SELECT customer_id, COUNT(*) AS order_count, SUM(total_amount) AS total_expense FROM orders WHERE customer_id = 1;
4. 高度なデータ分析
基本的なデータ統計関数に加えて、より複雑なデータ分析を実行したい場合は、MySQL の集計関数、条件付きフィルタリング、ソートなどの機能を組み合わせて使用できます。以下に、高度なデータ分析のためのクエリの例をいくつか示します。
最も人気のある料理 (売上が最も多い) をクエリする
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 項目を返します。一番売れている一品。
各顧客の消費量ランキングのクエリ
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;
このクエリは、各顧客の消費量とランキングを返します。
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 サイトの他の関連記事を参照してください。