Đô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!