Đôi khi, bạn có thể cần lấy các bản ghi của tuần hiện tại hoặc tìm nạp các bản ghi của tuần này để báo cáo và phân tích. Trong bài viết này, chúng ta sẽ xem xét cách lấy dữ liệu tuần hiện tại trong MySQL.
Cách nhận dữ liệu tuần hiện tại trong MySQL
Giả sử bạn có bảng sau doanh số bán hàng (id, order_date, số lượng )
mysql> create table sales(id int, order_date date, amount int); mysql> insert into sales(id, order_date, amount) values(1, '2021-01-24',250), (2, '2021-01-25',250), (3, '2021-01-26',250), (4, '2021-01-27',250), (5, '2021-01-28',250), (6, '2021-01-29',250), (7, '2021-01-30',250), (8, '2021-01-31',250), (9, '2021-02-01',250); mysql> select * from sales; +------+------------+--------+ | id | order_date | amount | +------+------------+--------+ | 1 | 2021-01-24 | 250 | | 2 | 2021-01-25 | 250 | | 3 | 2021-01-26 | 250 | | 4 | 2021-01-27 | 250 | | 5 | 2021-01-28 | 250 | | 6 | 2021-01-29 | 250 | | 7 | 2021-01-30 | 250 | | 8 | 2021-01-31 | 250 | | 9 | 2021-02-01 | 250 | +------+------------+--------+
Cách nhận Bản ghi của tuần hiện tại trong MySQL
Rất dễ dàng để lấy dữ liệu tuần hiện tại trong MySQL. Đây là truy vấn SQL để lấy các bản ghi của tuần hiện tại trong MySQL.
mysql> select * from sales where week(order_date)=week(now()); +------+------------+--------+ | id | order_date | amount | +------+------------+--------+ | 8 | 2021-01-31 | 250 | | 9 | 2021-02-01 | 250 | +------+------------+--------+
Trong truy vấn trên, chúng tôi sử dụng now () hàm lấy ngày hiện tại và tuần () hàm để nhận số tuần của các giá trị ngày. Vì vậy, chúng tôi chọn các hàng có số tuần của order_date giống với số tuần của ngày hôm nay.
Cách lấy dữ liệu 7 ngày qua trong MySQL
Đôi khi bạn cũng có thể cần lấy dữ liệu 7 ngày qua trong MySQL. Đây là truy vấn SQL để lấy dữ liệu 7 ngày qua.
mysql> select * from sales where order_date> now() - interval 1 week; +------+------------+--------+ | id | order_date | amount | +------+------------+--------+ | 3 | 2021-01-26 | 250 | | 4 | 2021-01-27 | 250 | | 5 | 2021-01-28 | 250 | | 6 | 2021-01-29 | 250 | | 7 | 2021-01-30 | 250 | | 8 | 2021-01-31 | 250 | | 9 | 2021-02-01 | 250 | +------+------------+--------+
Trong truy vấn SQL ở trên, chúng tôi chọn các hàng có order_date giảm sau 7 ngày qua. Chúng tôi sử dụng từ khóa INTERVAL để trừ đi 1 tuần kể từ ngày hôm nay.
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!