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

Cách nhận dữ liệu bán hàng 3 tháng qua trong MySQL

Sẽ rất hữu ích nếu lấy dữ liệu bán hàng 3 tháng trước đó để hiểu xu hướng bán hàng, báo cáo và phân tích dữ liệu. Dưới đây là cách lấy dữ liệu bán hàng 3 tháng qua trong MySQL cho doanh nghiệp / trang web của bạn. Chúng ta sẽ xem xét cách chọn bản ghi trong 3 tháng qua bằng cách sử dụng hàm INTERVAL trong MySQL.

Cách nhận dữ liệu bán hàng 3 tháng qua trong MySQL

Dưới đây là các bước để lấy dữ liệu bán hàng 3 tháng qua trong MySQL. Giả sử bạn có bảng sau doanh số (ngày_đặt_hàng, số tiền) chứa thông tin bán hàng hàng ngày.

mysql> select order_date,sale from sales;

(showing only last few records)
+------------+------+
| order_date | sale |
+------------+------+
| 2020-01-28 |  230 |
|        ... |  ... |
| 2020-05-29 |  300 |
| 2020-05-30 |  250 |
| 2020-05-31 |  250 |
| 2020-06-01 |  250 |
| 2020-06-02 |  150 |
| 2020-06-03 |  300 |
| 2020-06-04 |  200 |
| 2020-06-05 |  200 |
| 2020-06-06 |  250 |
| 2020-06-07 |  150 |
| 2020-06-08 |  300 |
| 2020-06-09 |  200 |
+------------+------+

Phần thưởng đã đọc:Cách nhận hồ sơ của tháng hiện tại

Đây là truy vấn SQL để lấy dữ liệu bán hàng 3 tháng qua trong MySQL, còn được gọi là doanh số bán hàng 3 tháng luân phiên. Chúng tôi sử dụng hàm INTERVAL () để lấy dữ liệu bán hàng trong 3 tháng qua.

mysql>select order_date,sale from sales
where order_date > now() - INTERVAL 3 MONTH;

(showing only last few records)
+------------+------+
| order_date | sale |
+------------+------+
| 2020-02-09 |  230 |
|        ... |  ... |
| 2020-05-29 |  300 |
| 2020-05-30 |  250 |
| 2020-05-31 |  250 |
| 2020-06-01 |  250 |
| 2020-06-02 |  150 |
| 2020-06-03 |  300 |
| 2020-06-04 |  200 |
| 2020-06-05 |  200 |
| 2020-06-06 |  250 |
| 2020-06-07 |  150 |
| 2020-06-08 |  300 |
| 2020-06-09 |  200 |
+------------+------+

Trong truy vấn SQL ở trên, chúng tôi yêu cầu MySQL lấy dữ liệu bán hàng cho tất cả các ngày mà order_date nằm trong phạm vi INTERVAL được chỉ định của chúng tôi, nghĩa là 3 tháng qua kể từ BÂY GIỜ.

Phần thưởng đọc:Cách tạo biểu đồ trong MySQL

Vì các tháng khác nhau có số ngày khác nhau nên khi bạn đề cập đến INTERVAL 3 tháng , MySQL sẽ nhận dữ liệu sau chính xác ngày trong tháng, trước 3 tháng. Tức là, nếu hôm nay là ngày 9 tháng 6, nó sẽ nhận được dữ liệu bán hàng từ ngày 9 tháng 3.

Nếu bạn muốn nhận dữ liệu bán hàng trong 90 ngày qua, thì đây là truy vấn SQL để lấy dữ liệu bán hàng trong 90 ngày qua.

mysql>select order_date,sale from sales
where order_date > now() - INTERVAL 90 DAY;

(showing only last few records)
+------------+------+
| order_date | sale |
+------------+------+
| 2020-03-11 |  230 |
|        ... |  ... |
| 2020-05-29 |  300 |
| 2020-05-30 |  250 |
| 2020-05-31 |  250 |
| 2020-06-01 |  250 |
| 2020-06-02 |  150 |
| 2020-06-03 |  300 |
| 2020-06-04 |  200 |
| 2020-06-05 |  200 |
| 2020-06-06 |  250 |
| 2020-06-07 |  150 |
| 2020-06-08 |  300 |
| 2020-06-09 |  200 |
+------------+------+

Phần thưởng đọc:Cách tính tỷ lệ chuyển đổi trong MySQL

Nếu bạn có nhiều hàng cho mỗi order_date, thì bạn sẽ cần phải tổng hợp doanh số bán hàng hàng ngày khi nhận được dữ liệu bán hàng trong 3 tháng qua. Ví dụ:nếu bạn có bảng bán hàng, như được hiển thị bên dưới

mysql> select order_date,sale from sales;

(showing only last few records)
+---------------------+------+
| order_date          | sale |
+---------------------+------+
| 2020-01-28 09:30:35 |  23  |
| 2020-01-28 10:10:00 |  30  |
| 2020-01-28 11:00:15 |  20  |
| 2020-01-28 14:50:35 |  15  |
| 2020-01-28 15:30:36 |  25  |
| 2020-01-28 17:10:55 |  15  |
|                 ... |  ... |
+---------------------+------+

Sau đó, đây là truy vấn để nhận dữ liệu bán hàng 3 tháng qua, sau khi tổng hợp doanh số hàng ngày

mysql>select date(order_date),sale from sales
      where order_date > now() - INTERVAL 3 MONTH
      group by date(order_date);

(showing only last few records)
+------------+------+
| order_date | sale |
+------------+------+
| 2020-03-09 |  230 |
|        ... |  ... |
| 2020-05-29 |  300 |
| 2020-05-30 |  250 |
| 2020-05-31 |  250 |
| 2020-06-01 |  250 |
| 2020-06-02 |  150 |
| 2020-06-03 |  300 |
| 2020-06-04 |  200 |
| 2020-06-05 |  200 |
| 2020-06-06 |  250 |
| 2020-06-07 |  150 |
| 2020-06-08 |  300 |
| 2020-06-09 |  200 |
+------------+------+

Bạn có thể vẽ dữ liệu bán hàng này trên biểu đồ đường bằng cách sử dụng công cụ biểu đồ như Ubiq.

Bạn cũng có thể tổng hợp dữ liệu bán hàng này cho mỗi tháng bằng cách sử dụng truy vấn sau. Chúng tôi sử dụng DATE_FORMAT để lấy tên tháng từ các giá trị ngày.

mysql>select date_format(order_date,'%b'),sale from sales
      where order_date > now() - INTERVAL 3 MONTH
      group by date_format(order_date,'%b');


+------------+-------+
| order_date |  sale |
+------------+-------+
| Mar        |   830 |
| Apr        | 10300 |
| May        | 12250 |
| Jun        |  1250 |
+------------+-------+

và vẽ nó trên biểu đồ thanh như hình dưới đây, được tạo bằng Ubiq.

Đó là nó! Hy vọng rằng bạn cũng có thể nhận được dữ liệu bán hàng 3 tháng qua trong MySQL cho doanh nghiệp / trang web / ứng dụng của bạn và chia sẻ nó với nhóm của bạn.

Nếu bạn muốn tạo biểu đồ, trang tổng quan và báo cáo từ cơ sở dữ liệu MySQL, bạn có thể thử Ubiq. Chúng tôi cung cấp bản dùng thử miễn phí 14 ngày.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Virtualmin:Bạn không có quyền truy cập vào cơ sở dữ liệu MySQL này sau khi thay đổi mật khẩu

  2. MySQL find_in_set với nhiều chuỗi tìm kiếm

  3. Lỗi sự kiện Mysql khi sử dụng php

  4. Đếm hàng với PDO

  5. Nhiều thiết lập trung tâm dữ liệu bằng cách sử dụng Galera Cluster cho MySQL hoặc MariaDB