Làm cách nào để lấy dữ liệu 3 ngày qua trong MySQL?

Chúng tôi đã trừ ba ngày từ ngày đã cho bằng cách sử dụng hàm DATE_SUB(). Thay cho NGÀY, chúng ta có thể sử dụng Tháng, năm, giờ, phút, giây, v.v., đây là danh sách

đơn vị Giá trị Expr được mong đợi.

SELECT DATE_SUB( '2016-02-23', INTERVAL 2 YEAR ); // 2014-02-23 
SELECT DATE_SUB( CURDATE(), INTERVAL 2 YEAR ); // 2018-02-23
Truy vấn thứ hai phụ thuộc vào ngày hôm nay, vì vậy kết quả của bạn sẽ khác
Đôi khi chúng tôi phải thu thập dữ liệu trong 7 hoặc 15 ngày hoặc X ngày (hoặc tháng, năm hoặc tuần) từ bảng MySQL
  • Video hướng dẫn truy vấn ngày bằng CURDATE, BETWEEN , YEAR, MONTH, DAYOFWEEK()

Ví dụ: hãy để chúng tôi tìm ra ai là thành viên mới tham gia diễn đàn của chúng tôi vào tuần trước. Một cửa hàng có thể muốn biết các sản phẩm mới được thêm vào trong một tháng qua. Những cuốn sách đã đến trong một năm qua là gì. Ở đây, bất kể giá trị ngày là gì, chúng tôi muốn các bản ghi của X ngày trước kể từ hôm nay hoặc chúng tôi có thể nói rằng các bản ghi giữa hôm nay và X ngày trước ( tháng , năm hoặc tuần) là bắt buộc

Chúng ta sẽ sử dụng hàm MySQL CURDATE() để lấy ngày hôm nay

Để có được sự khác biệt trong ngày hôm nay và ngày hoặc tháng trước đó, chúng ta phải sử dụng hàm MySQL DATE_SUB

DATE_SUB là một hàm MySQL lấy biểu thức ngày, khoảng thời gian và hằng số để trả về giá trị ngày để tính toán thêm

Để có được ngày hôm qua, bạn cần trừ đi một ngày từ ngày hôm nay. Sử dụng CURDATE() để lấy ngày hôm nay. Trong MySQL, bạn có thể trừ bất kỳ khoảng ngày nào bằng cách sử dụng hàm DATE_SUB(). Ở đây, vì bạn cần trừ một ngày, bạn sử dụng DATE_SUB(CURDATE(), INTERVAL 1 DAY) để lấy ngày của ngày hôm qua. Lưu ý kết quả phép tính này vẫn có cột kiểu ngày

Bạn có thể quay lại bất kỳ khoảng thời gian nào một cách dễ dàng. Đây là một ví dụ

SELECT DATE_SUB(CURDATE(), INTERVAL 2 MONTH) AS date_two_months_ago;

Bạn cũng có thể tính toán ngày mai rất dễ dàng. Sử dụng hàm DATE_ADD() để thêm một khoảng thời gian vào một ngày

Trong bài viết này, chúng ta sẽ xem cách lấy bản ghi 15 ngày qua trong truy vấn MySQL. Trong PHP, bạn có thể sử dụng INTERVAL để lấy bản ghi 15 ngày qua từ bảng cơ sở dữ liệu. Đối với các truy vấn MySQL, chúng tôi sử dụng toán tử INTERVAL. Nó chủ yếu được sử dụng để tính toán các giá trị ngày và giờ

Vì vậy, hãy xem truy vấn SQL để lấy bản ghi 15 ngày qua và cách lấy dữ liệu 15 ngày qua trong PHP từ Cơ sở dữ liệu MySQL

Nhận bản ghi 15 ngày qua trong ví dụ về MySQL

Trong ví dụ này, chúng ta sẽ thấy truy vấn SQL để lấy dữ liệu cho tháng hiện tại trong MySQL

idorder_dateamountOrders12022-02-01150222022-02-02200432022-03-03100142022-03-04300552022-04-05200372022-04-061907

Trong bảng của bạn, bản ghi cần phải giống như ngày và tháng

select * from users
       where order_date > now() - INTERVAL 15 day;

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Trong truy vấn trên, chúng tôi sử dụng hàm now() để lấy ngày hiện tại và hàm INTERVAL() để lấy bản ghi 15 ngày qua

Đôi khi, bạn có thể cần lấy các bản ghi trong 7 ngày qua hoặc lấy các hàng trong 7 ngày qua trong MySQL. Bạn có thể dễ dàng lấy 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 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 các bản ghi từ 7 ngày qua trong MySQL. Giả sử bạn có bảng doanh số sau(order_date,sale) chứa dữ liệu doanh số 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 lấy hồ sơ từ 30 ngày qua

 

Cách lấy 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 những bản ghi có order_date rơi sau khoảng thời gian 7 ngày trước đó. Chúng tôi sử dụng hàm hệ thống now() để lấy giá trị ngày giờ mới nhất và mệnh đề INTERVAL để tính ngày 7 ngày trước

Bạn cũng có thể sử dụng current_date thay vì now()

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

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

 

Cách lấy dữ liệu trong 1 tuần qua

Đây là cách lấy 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 lấy 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 rơi sau khoảng thời gian 1 tuần qua. Chúng tôi sử dụng đối số '1 tuần' cho mệnh đề INTERVAL, thay vì sử dụng '7 ngày'

Làm cách nào để chọn 3 ngày trước trong MySQL?

Sử dụng cho một cuộc hẹn ba ngày trước. Ở ĐÂU. ngày >= DATE_ADD(CURDATE(), INTERVAL -3 DAY);

Làm cách nào để lấy dữ liệu 7 ngày qua trong MySQL?

Chúng tôi sử dụng hàm hệ thống now() để lấy giá trị ngày giờ mới nhất và mệnh đề INTERVAL để tính ngày cách đây 7 ngày .

Làm cách nào để chọn những ngày cuối cùng trong MySQL?

Hàm MySQL LAST_DAY() . Nếu giá trị ngày hoặc giờ không hợp lệ, hàm trả về NULL.

Làm cách nào để chọn 15 ngày qua trong MySQL?

chọn * từ những người dùng có order_date > now() - THỜI GIAN 15 ngày ; .