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

Cách nhận bản ghi từ 7 ngày qua trong MySQL

Đôi khi bạn có thể cần nhận các bản ghi 7 ngày qua hoặc lấy các hàng từ 7 ngày qua trong MySQL. Bạn có thể dễ dàng nhận được các bản ghi từ 7 ngày qua trong MySQL, ngay cả khi không có chức năng nào cho nó. Đây là truy vấn SQL để chọn các bản ghi trong 7 ngày qua.

Cách lấy bản ghi từ 7 ngày qua trong MySQL

Đây là SQL để lấy bản ghi từ 7 ngày qua trong MySQL. Giả sử bạn có bảng sau doanh số bán hàng (order_date, sale) chứa dữ liệu bán hàng hàng ngày.

mysql> create table sales(order_date date,sale int);

mysql> insert into sales(order_date, sale)
     values('2020-06-01',237),
     ('2020-06-02',230),
     ('2020-06-03',220),
     ('2020-06-04',210),
     ('2020-06-05',200),
     ('2020-06-06',260),
     ('2020-06-07',270),
     ('2020-06-08',240),
     ('2020-06-09',290),
     ('2020-06-10',230),
     ('2020-06-11',210);

mysql> select * from sales;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-06-01 |  237 |
| 2020-06-02 |  230 |
| 2020-06-03 |  220 |
| 2020-06-04 |  210 |
| 2020-06-05 |  200 |
| 2020-06-06 |  260 |
| 2020-06-07 |  270 |
| 2020-06-08 |  240 |
| 2020-06-09 |  290 |
| 2020-06-10 |  230 |
| 2020-06-11 |  210 |
+------------+------+

Phần thưởng đã đọc:Cách nhận hồ sơ từ 30 ngày qua

Cách nhận hồ sơ từ 7 ngày qua

Đây là truy vấn SQL để lấy bản ghi từ 7 ngày qua trong MySQL.

mysql> select * from sales
     where order_date > now() - INTERVAL 7 day;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-06-05 |  200 |
| 2020-06-06 |  260 |
| 2020-06-07 |  270 |
| 2020-06-08 |  240 |
| 2020-06-09 |  290 |
| 2020-06-10 |  230 |
| 2020-06-11 |  210 |
+------------+------+

Trong truy vấn trên, chúng tôi chọn các bản ghi đó tại order_date giảm sau khoảng thời gian 7 ngày qua. Chúng tôi sử dụng chức năng hệ thống now () để nhận giá trị ngày giờ mới nhất và mệnh đề INTERVAL để tính một ngày trong 7 ngày trước.

Bạn cũng có thể sử dụng current_date thay vì bây giờ ()

mysql> select * from sales
     where order_date > current_date - interval 7 day;

Phần thưởng đọc:Cách nhận bản ghi giữa 2 ngày trong MySQL

Cách nhận dữ liệu 1 tuần qua

Đây là cách để có được bản ghi 1 tuần qua trong MySQL

mysql> select * from sales
       where order_date > now() - interval 1 week;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-06-05 |  200 |
| 2020-06-06 |  260 |
| 2020-06-07 |  270 |
| 2020-06-08 |  240 |
| 2020-06-09 |  290 |
| 2020-06-10 |  230 |
| 2020-06-11 |  210 |
+------------+------+

Phần thưởng đã đọc:Cách nhận bản ghi từ 24 giờ qua trong MySQL

Trong truy vấn trên, chúng tôi chọn các hàng có order_date giảm sau khoảng thời gian 1 tuần trước. Chúng tôi sử dụng đối số "1 tuần" cho mệnh đề INTERVAL, thay vì sử dụng "7 ngày".

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. Sự khác biệt giữa utf8_general_ci và utf8_unicode_ci là gì?

  2. Cách lưu trữ ảnh trong cơ sở dữ liệu MySQL

  3. Tham khảo:Mẫu mã hoàn hảo sử dụng phần mở rộng MySQL là gì?

  4. Tạo người dùng MySQL trên Linux qua Dòng lệnh

  5. Cách cộng và trừ ngày, tháng, năm thông qua MySql Query