Rumah >pangkalan data >tutorial mysql >MySQL melaksanakan fungsi analisis data sistem pesanan
MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan yang digunakan secara meluas dalam pelbagai aplikasi. Dalam sistem pesanan, fungsi analisis data sangat penting untuk pengusaha restoran. Artikel ini akan memperkenalkan cara menggunakan MySQL untuk melaksanakan fungsi analisis data sistem pesanan, dan melampirkan contoh kod tertentu.
1 Buat jadual data
Pertama, kita perlu mencipta pangkalan data dan jadual data yang sepadan. Andaikan sistem pesanan kami mempunyai jadual data utama berikut:
Jadual pesanan (pesanan): menyimpan maklumat yang berkaitan dengan pesanan pelanggan, termasuk nombor pesanan, ID pelanggan, masa pesanan , jumlah keseluruhan, dsb.
CREATE TABLE orders ( order_id INT PRIMARY KEY AUTO_INCREMENT, customer_id INT, order_time DATETIME, total_amount DECIMAL(10, 2) );
Hidangan: Menyimpan maklumat tentang semua hidangan, termasuk ID hidangan, nama hidangan, harga, dsb.
CREATE TABLE dishes ( dish_id INT PRIMARY KEY AUTO_INCREMENT, dish_name VARCHAR(50), price DECIMAL(10, 2) );
Jadual butiran pesanan (order_details): Rekodkan hidangan dan kuantitinya yang disertakan dalam setiap pesanan.
CREATE TABLE order_details ( order_id INT, dish_id INT, quantity INT, PRIMARY KEY (order_id, dish_id) );
2. Masukkan data ujian
Seterusnya, kita perlu memasukkan beberapa data ujian ke dalam jadual data untuk analisis data. Katakan kita mempunyai data ujian berikut:
Pesanan:
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);
Hidangan:
INSERT INTO dishes (dish_name, price) VALUES ('宫保鸡丁', 18.00), ('鱼香肉丝', 16.50), ('红烧肉', 23.80);
Jadual butiran pesanan (order_details): #🎜
3. Statistik data asas Apabila menggunakan MySQL untuk analisis data, kita boleh mendapatkan data yang diperlukan melalui beberapa pernyataan pertanyaan SQL asas. Berikut ialah beberapa contoh pertanyaan statistik data yang biasa digunakan:
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);#🎜🎜🎜 🎜# Kira jumlah kuantiti jualan dan jumlah jualan setiap hidangan
SELECT COUNT(*) AS order_count, SUM(total_amount) AS total_sales FROM orders;
Selain fungsi statistik data asas, jika kita ingin menjalankan analisis data yang lebih kompleks, kita boleh menggunakan fungsi agregat MySQL, penapisan bersyarat, pengisihan dan ciri-ciri lain. dalam gabungan. Berikut ialah beberapa contoh pertanyaan untuk analisis data lanjutan:
Pertanyakan hidangan paling popular (paling terjual)
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;Pertanyaan ini akan mengembalikan Yang teratas 3 hidangan dengan jumlah jualan tertinggi.
SELECT customer_id, COUNT(*) AS order_count, SUM(total_amount) AS total_expense FROM orders WHERE customer_id = 1;Pertanyaan ini akan mengembalikan jumlah penggunaan dan ranking setiap pelanggan.
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;Pertanyaan ini akan mengembalikan jumlah jualan dan purata jumlah jualan setiap hari .
Atas ialah kandungan terperinci MySQL melaksanakan fungsi analisis data sistem pesanan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!