Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Truy vấn MySQL để có được các sản phẩm bán chạy nhất

Điều quan trọng là phải có được những sản phẩm bán chạy nhất, nếu bạn điều hành một cửa hàng trực tuyến hoặc doanh nghiệp thương mại điện tử. Vì hầu hết các trang web trực tuyến chạy trên MySQL, trong bài viết này, chúng ta sẽ xem xét MySQL Query để có được các sản phẩm bán chạy nhất cho doanh nghiệp của bạn. Nó rất hữu ích trong việc hiểu sản phẩm nào đang hoạt động tốt và sản phẩm nào cần thúc đẩy. Bạn có thể sử dụng các truy vấn này để nhận được các sản phẩm được bán nhiều nhất hoặc nhận danh sách các mặt hàng bán chạy nhất trên trang web của bạn.


Truy vấn MySQL để có được các sản phẩm bán chạy nhất

Chúng ta sẽ xem xét hai trường hợp - thứ nhất, khi thông tin sản phẩm và thông tin bán hàng của bạn nằm trong cùng một bảng. Thứ hai, khi sản phẩm và thông tin bán hàng của bạn ở các bảng khác nhau.


Làm thế nào để có được những sản phẩm bán chạy nhất

Giả sử bạn có bảng doanh số bán hàng (id, sản phẩm, ngày_đặt_hàng, số tiền) trong đó chứa thông tin về sản phẩm và số lượng bán trong một bảng.

mysql> create table sales(id int, 
        product varchar(10), 
        order_date date, 
        amount int);

mysql> insert into sales(id, product, order_date, amount)
       values(1, 'Bike','2021-01-01',150),
       (2, 'Car','2021-01-01',450),
       (3, 'Bicycle','2021-01-02',50),
       (5, 'Car','2021-01-02',450),
       (6, 'Bike','2021-01-03',150),
       (7, 'SUV','2021-01-04',850),
       (8, 'Bike','2021-01-04',150);

mysql> select * from sales;
+------+---------+------------+--------+
| id   | product | order_date | amount |
+------+---------+------------+--------+
|    1 | Bike    | 2021-01-01 |    150 |
|    2 | Car     | 2021-01-01 |    450 |
|    3 | Bicycle | 2021-01-02 |     50 |
|    5 | Car     | 2021-01-02 |    450 |
|    6 | Bike    | 2021-01-03 |    150 |
|    7 | SUV     | 2021-01-04 |    850 |
|    8 | Bike    | 2021-01-04 |    150 |
+------+---------+------------+--------+

Chúng tôi sẽ nhận được sản phẩm bán chạy nhất theo doanh số và theo số lượng.

Phần thưởng đã đọc:Cách nhận được nhiều số lượng trong MySQL


Sản phẩm bán chạy nhất theo tổng doanh số

Đây là truy vấn SQL để lấy các sản phẩm bán chạy nhất theo tổng doanh số. Trong trường hợp của chúng tôi, chúng tôi sẽ chọn 3 sản phẩm bán chạy nhất theo tổng doanh số bán hàng.

mysql> select product, sum(amount) 
       from sales 
       group by product 
       order by sum(amount) desc 
       limit 3;
 +---------+-------------+
 | product | sum(amount) |
 +---------+-------------+
 | Car     |         900 |
 | SUV     |         850 |
 | Bike    |         450 |
 +---------+-------------+

Hãy để chúng tôi xem xét truy vấn trên một cách chi tiết. Về cơ bản, chúng tôi NHÓM THEO sản phẩm cột và tổng hợp số tiền sử dụng hàm SUM.

Chúng tôi tiếp tục ĐẶT HÀNG BẰNG tổng (số tiền) theo thứ tự giảm dần để các sản phẩm bán chạy nhất được liệt kê ở trên cùng. Chúng tôi cũng sử dụng mệnh đề LIMIT 3 để chỉ chọn 3 hàng trên cùng của kết quả.


Sản phẩm bán chạy nhất theo Tổng khối lượng

Đây là truy vấn SQL để lấy các sản phẩm bán chạy nhất theo tổng khối lượng, tức là số lượng bán ra.

mysql> select product, count(amount) 
       from sales 
       group by product 
       order by count(amount) 
       desc limit 3;
 +---------+---------------+
 | product | count(amount) |
 +---------+---------------+
 | Bike    |             3 |
 | Car     |             2 |
 | Bicycle |             1 |
 +---------+---------------+


Bây giờ, chúng ta sẽ xem xét trường hợp thứ hai. Đôi khi, thông tin sản phẩm và thông tin bán hàng có trong các bảng khác nhau.

Giả sử bạn có hai bảng product (id, product_name) doanh số bán hàng (id, product_id, order_date, number)

mysql> create table product(id int,product_name varchar(10));

mysql> insert into product(id, product_name)
      value(1,'Bike'),
      (2,'Car'),
      (3,'Bicycle'),
      (4,'SUV');

mysql> select * from product;
 +------+--------------+
 | id   | product_name |
 +------+--------------+
 |    1 | Bike         |
 |    2 | Car          |
 |    3 | Bicycle      |
 |    4 | SUV          |
 +------+--------------+

mysql> create table sales(id int, 
      product_id int, 
      order_date date, 
      amount int);

mysql> insert into sales(id, product_id, order_date, amount)
      values(1, 1,'2021-01-01',150),
      (2, 2,'2021-01-01',450),
      (3, 3,'2021-01-02',50),
      (5, 2,'2021-01-02',450),
      (6, 1,'2021-01-03',150),
      (7, 4,'2021-01-04',850),
      (8, 1,'2021-01-04',150);

mysql> select * from sales;
 +------+------------+------------+--------+
 | id   | product_id | order_date | amount |
 +------+------------+------------+--------+
 |    1 |          1 | 2021-01-01 |    150 |
 |    2 |          2 | 2021-01-01 |    450 |
 |    3 |          3 | 2021-01-02 |     50 |
 |    5 |          2 | 2021-01-02 |    450 |
 |    6 |          1 | 2021-01-03 |    150 |
 |    7 |          4 | 2021-01-04 |    850 |
 |    8 |          1 | 2021-01-04 |    150 |
 +------+------------+------------+--------+

Phần thưởng đọc:Cách sử dụng COALESCE trong MySQL


Sản phẩm bán chạy nhất theo tổng doanh số

Đây là truy vấn SQL để lấy các sản phẩm bán chạy nhất theo tổng doanh số. Về cơ bản, chúng tôi sẽ kết hợp hai bảng để lấy tên sản phẩm và tổng doanh số bán hàng trong kết quả truy vấn.

mysql> select product_name, sum(amount)
           from sales,product
           where sales.product_id=product.id
           group by product_name
           order by sum(amount) desc
           limit 3;
 +--------------+-------------+
 | product_name | sum(amount) |
 +--------------+-------------+
 | Car          |         900 |
 | SUV          |         850 |
 | Bike         |         450 |
 +--------------+-------------+

Hãy để chúng tôi xem xét truy vấn trên một cách chi tiết. Chúng tôi CHỌN product_name sum (số tiền) các cột từ sản phẩm bán hàng những cái bàn. Chúng tôi kết hợp hai bảng bằng cách sử dụng product_id cột từ bán hàng bảng và id cột từ sản phẩm bảng, GROUP BY sản phẩm cột và tổng hợp số tiền sử dụng hàm SUM.

Chúng tôi tiếp tục ĐẶT HÀNG BẰNG tổng (số tiền) theo thứ tự giảm dần để các sản phẩm bán chạy nhất được liệt kê ở trên cùng. Chúng tôi cũng sử dụng mệnh đề LIMIT 3 để chỉ chọn 3 hàng trên cùng của kết quả.

Phần thưởng đọc:Cách truy vấn cột JSON trong MySQL


Sản phẩm bán chạy nhất theo tổng khối lượng

Đây là truy vấn SQL để lấy các sản phẩm bán chạy nhất theo tổng khối lượng, tức là số lượng bán ra.

mysql> select product_name, count(amount)
           from sales,product
           where sales.product_id=product.id
           group by product_name
           order by count(amount) desc
           limit 3;
 +--------------+---------------+
 | product_name | count(amount) |
 +--------------+---------------+
 | Bike         |             3 |
 | Car          |             2 |
 | Bicycle      |             1 |
 +--------------+---------------+


Nhận các sản phẩm bán chạy nhất bằng Ubiq

Công cụ Báo cáo Ubiq hỗ trợ tất cả các truy vấn SQL ở trên và giúp bạn dễ dàng hình dung kết quả SQL theo những cách khác nhau. Nó cũng cho phép bạn tạo trang tổng quan và biểu đồ từ dữ liệu MySQL. Đây là truy vấn SQL để lấy các sản phẩm bán chạy nhất, trong Ubiq.

Trên thực tế, sau khi chạy truy vấn, bạn có thể chỉ cần nhấp vào một loại trực quan hóa để vẽ kết quả trong biểu đồ.

Cần một công cụ báo cáo cho MySQL? Ubiq giúp dễ dàng trực quan hóa dữ liệu trong vài phút và theo dõi trong trang tổng quan thời gian thực. Thử nó ngay hôm nay!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Percona Live Dublin - Tóm tắt sự kiện và các phiên của chúng tôi

  2. Lỗi khi tải Mô-đun MySQLdb 'Bạn đã cài đặt mysqlclient hay MySQL-python?'

  3. Cài đặt và sử dụng Bộ công cụ Percona trên Centos 7

  4. Cơ sở dữ liệu góc:Hướng dẫn mới bắt đầu để công cụ lưu trữ Mysql

  5. Truy xuất Hình ảnh được lưu trữ dưới dạng BLOB trên MYSQL DB