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

Cách nhận bản ghi 15 ngày qua trong MySQL

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khắc phục “ERROR 1222 (21000):Các câu lệnh SELECT đã sử dụng có một số cột khác nhau” khi sử dụng UNION trong MySQL

  2. Tại sao số hàng ước tính rất khác nhau trong kết quả phpmyadmin?

  3. Cách sao lưu cơ sở dữ liệu MySQL bằng cron Jobs

  4. Mysql chọn đệ quy nhận tất cả con với nhiều cấp độ

  5. Cập nhật giá trị cột, thay thế một phần của chuỗi