Đôi khi bạn có thể cần phải nhận các hàng 15 ngày cuối cùng trong MySQL. Dưới đây là cách lấy các bản ghi 15 ngày qua trong MySQL. Bạn cũng có thể sử dụng nó để biết số lượng người dùng đã đăng ký trong 15 ngày qua hoặc chọn dữ liệu bán hàng trong 15 ngày qua để phân tích thêm.
Cách nhận bản ghi 15 ngày qua trong MySQL
Dưới đây là các bước để nhận bản ghi 15 ngày qua trong MySQL.
Giả sử bạn có bảng sau doanh số bán hàng (order_date, sale, order) chứa số lượng đơn đặt hàng hàng ngày và số tiền bán được.
mysql> create table sales(order_date date,sale int, orders int); mysql> insert into sales(order_date ,sale ,orders ) values( '2020-04-28' , 300 , 10 ), ( '2020-04-29' , 250 , 15 ), ( '2020-04-30' , 250 , 12 ), ( '2020-05-01' , 250 , 14 ), ( '2020-05-02' , 150 , 20 ), ( '2020-05-03' , 300 , 21 ), ( '2020-05-04' , 200 , 15 ), ( '2020-05-05' , 200 , 17 ), ( '2020-05-06' , 250 , 12 ), ( '2020-05-07' , 150 , 15 ), ( '2020-05-08' , 300 , 12 ), ( '2020-05-09' , 280 , 18 ), ( '2020-05-10' , 320 , 16 ), ( '2020-05-11' , 400 , 15 ), ( '2020-05-12' , 250 , 13 ), ( '2020-05-13' , 100 , 16 ), ( '2020-05-14' , 200 , 18 ); mysql> select * from sales; +------------+------+--------+ | order_date | sale | orders | +------------+------+--------+ | 2020-04-28 | 300 | 10 | | 2020-04-29 | 250 | 15 | | 2020-04-30 | 250 | 12 | | 2020-05-01 | 250 | 14 | | 2020-05-02 | 150 | 20 | | 2020-05-03 | 300 | 21 | | 2020-05-04 | 200 | 15 | | 2020-05-05 | 200 | 17 | | 2020-05-06 | 250 | 12 | | 2020-05-07 | 150 | 15 | | 2020-05-08 | 300 | 12 | | 2020-05-09 | 280 | 18 | | 2020-05-10 | 320 | 16 | | 2020-05-11 | 400 | 15 | | 2020-05-12 | 250 | 13 | | 2020-05-13 | 100 | 16 | | 2020-05-14 | 200 | 18 | +------------+------+--------+
Phần thưởng đã đọc:Cách đạt được bản ghi cuối cùng trong mỗi nhóm
Cách nhận dữ liệu bán hàng trong 15 ngày qua trong SQL
Đây là truy vấn SQL để lấy các bản ghi 15 ngày qua trong MySQL
mysql> select * from sales where order_date> now() - INTERVAL 15 day; +------------+------+--------+ | order_date | sale | orders | +------------+------+--------+ | 2020-04-30 | 250 | 12 | | 2020-05-01 | 250 | 14 | | 2020-05-02 | 150 | 20 | | 2020-05-03 | 300 | 21 | | 2020-05-04 | 200 | 15 | | 2020-05-05 | 200 | 17 | | 2020-05-06 | 250 | 12 | | 2020-05-07 | 150 | 15 | | 2020-05-08 | 300 | 12 | | 2020-05-09 | 280 | 18 | | 2020-05-10 | 320 | 16 | | 2020-05-11 | 400 | 15 | | 2020-05-12 | 250 | 13 | | 2020-05-13 | 100 | 16 | | 2020-05-14 | 200 | 18 | +------------+------+--------+
Trong truy vấn trên, chúng tôi sử dụng hàm hệ thống now () để có được ngày giờ hiện tại. Sau đó, chúng tôi sử dụng mệnh đề INTERVAL để lọc những bản ghi mà order_date rơi vào khoảng thời gian 15 ngày trước ngày giờ hiện tại.
Phần thưởng đọc:Cách nhận dữ liệu 12 tháng qua trong MySQL
Cách Nhận Đăng ký &Người dùng Mới trong 15 ngày qua
Tương tự, bạn cũng có thể nhận được đăng ký &người dùng mới trong 15 ngày qua trong MySQL. Giả sử bạn có bảng sau Người dùng (user_id, date_joined) chứa dữ liệu đăng ký.
mysql> select * from users; +-------------+---------+ | date_joined | user_id | +-------------+---------+ | 2020-04-20 | 213 | | 2020-04-22 | 214 | | 2020-04-23 | 215 | | 2020-04-24 | 216 | | 2020-04-25 | 217 | | 2020-04-26 | 218 | | 2020-04-27 | 219 | | 2020-04-28 | 220 | | 2020-04-29 | 221 | | 2020-05-30 | 222 | | 2020-05-30 | 222 | | 2020-05-01 | 223 | | 2020-05-01 | 224 | | 2020-05-02 | 225 | | 2020-05-02 | 226 | | 2020-05-03 | 226 | | 2020-05-04 | 227 | | 2020-05-04 | 228 | | 2020-05-05 | 229 | | 2020-05-05 | 230 | | 2020-05-05 | 231 | | 2020-05-05 | 232 | | 2020-05-06 | 233 | | 2020-05-08 | 234 | +-------------+---------+
Phần thưởng đọc:Cách tạo MySQL View
Dưới đây là truy vấn SQL để nhận được số lượt đăng ký và người dùng mới hàng ngày trong MySQL trong 15 ngày qua.
mysql> select * from users where date_joined> now() - INTERVAL 15 day; +-------------+---------+ | date_joined | user_id | +-------------+---------+ | 2020-04-23 | 215 | | 2020-04-24 | 216 | | 2020-04-25 | 217 | | 2020-04-26 | 218 | | 2020-04-27 | 219 | | 2020-04-28 | 220 | | 2020-04-29 | 221 | | 2020-05-30 | 222 | | 2020-05-30 | 222 | | 2020-05-01 | 223 | | 2020-05-01 | 224 | | 2020-05-02 | 225 | | 2020-05-02 | 226 | | 2020-05-03 | 226 | | 2020-05-04 | 227 | | 2020-05-04 | 228 | | 2020-05-05 | 229 | | 2020-05-05 | 230 | | 2020-05-05 | 231 | | 2020-05-05 | 232 | | 2020-05-06 | 233 | | 2020-05-08 | 234 | +-------------+---------+
Trong truy vấn trên, chúng tôi sử dụng hàm hệ thống now () để có được ngày giờ hiện tại. Sau đó, chúng tôi sử dụng mệnh đề INTERVAL để lọc những bản ghi mà order_date rơi vào khoảng thời gian 15 ngày trước ngày giờ hiện tại.
Đó là nó! Như bạn có thể thấy, khá dễ dàng để lấy các bản ghi 15 ngày qua trong MySQL bằng cách sử dụng mệnh đề INTERVAL.
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!