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

Cách nhận dữ liệu tuần hiện tại trong MySQL

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết nối cơ sở dữ liệu MySQL động cho Entity Framework 6

  2. Chọn các giá trị đáp ứng các điều kiện khác nhau trên các hàng khác nhau?

  3. Dấu ngoặc kép, dấu ngoặc kép và Dấu ngoặc kép trong MySQL

  4. Máy chủ MySQL đã biến mất khi nhập tệp sql lớn

  5. MySQL Preferred Engine - MyISAM hoặc InnoDB