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

Cách lấy dữ liệu tuần trước trong MySQL

Đôi khi bạn có thể cần tìm nạp các hàng tuần trước trong MySQL để báo cáo và phân tích. Đây là cách lấy dữ liệu tuần trước trong MySQL.

Cách lấy dữ liệu tuần trước trong MySQL

Dưới đây là các bước để lấy dữ liệu tuần trước trong MySQL. Giả sử bạn có bảng sau product_orders (id, order_date, amount)

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

mysql> insert into product_orders values(1,'2020-07-20',100),
     (2,'2020-07-21',250),
     (3,'2020-07-22',225),
     (4,'2020-07-23',150),
     (5,'2020-07-24',200),
     (6,'2020-07-25',180),
     (7,'2020-07-26',150),
     (8,'2020-07-27',200),
     (9,'2020-07-28',250),
     (10,'2020-07-29',300),
     (11,'2020-07-30',150),
     (12,'2020-07-31',200),
     (13,'2020-08-01',180),
     (14,'2020-08-02',200);

mysql> select * from product_orders;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    1 | 2020-07-20 |    100 |
|    2 | 2020-07-21 |    250 |
|    3 | 2020-07-22 |    225 |
|    4 | 2020-07-23 |    150 |
|    5 | 2020-07-24 |    200 |
|    6 | 2020-07-25 |    180 |
|    7 | 2020-07-26 |    150 |
|    8 | 2020-07-27 |    200 |
|    9 | 2020-07-28 |    250 |
|   10 | 2020-07-29 |    300 |
|   11 | 2020-07-30 |    150 |
|   12 | 2020-07-31 |    200 |
|   13 | 2020-08-01 |    180 |
|   14 | 2020-08-02 |    200 |
+------+------------+--------+

Phần thưởng Đọc:Cơ sở dữ liệu sao chép MySQL

Đây là truy vấn SQL để lấy dữ liệu của tuần trước trong MySQL.

mysql> select * from product_orders where week(order_date)=week(now())-1;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    7 | 2020-07-26 |    150 |
|    8 | 2020-07-27 |    200 |
|    9 | 2020-07-28 |    250 |
|   10 | 2020-07-29 |    300 |
|   11 | 2020-07-30 |    150 |
|   12 | 2020-07-31 |    200 |
|   13 | 2020-08-01 |    180 |
+------+------------+--------+

Trong truy vấn SQL ở trên, chúng tôi sử dụng hàm WEEK () để lấy số Tuần của order_date cột. Chúng tôi chỉ chọn những bản ghi có số tuần nhỏ hơn 1 tuần so với số tuần của ngày hôm nay, được sử dụng hàm NOW ().

Phần thưởng đã đọc:Chèn MySQL vào Lựa chọn

Cách nhận dữ liệu 7 ngày qua trong MySQL

Đôi khi, bạn có thể cần tìm nạp các bản ghi của 7 ngày qua. Đây là truy vấn SQL để lấy dữ liệu 7 ngày qua trong MySQL.

mysql> select * from product_orders where order_date> now() -  interval 7 day;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    9 | 2020-07-28 |    250 |
|   10 | 2020-07-29 |    300 |
|   11 | 2020-07-30 |    150 |
|   12 | 2020-07-31 |    200 |
|   13 | 2020-08-01 |    180 |
|   14 | 2020-08-02 |    200 |
+------+------------+--------+

Trong truy vấn trên, chúng tôi chọn những bản ghi có order_date là sau khoảng thời gian 7 ngày trước kể từ hôm nay.

Phần thưởng Đọc:MySQL Chọn N Hàng đầu

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. INTERSECT trong MySQL

  2. Giá trị múi giờ máy chủ 'AEST' không được công nhận hoặc đại diện cho nhiều hơn một múi giờ

  3. Chèn MySQL vào Lựa chọn

  4. CHÈN với CHỌN

  5. MySQL chuyển đổi chuỗi ngày thành dấu thời gian Unix