Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak uzyskać dane z ostatniego tygodnia w MySQL?

Czasami może być konieczne pobranie wierszy z poprzedniego tygodnia w MySQL w celu raportowania i analizy. Oto jak uzyskać dane z ostatniego tygodnia w MySQL.

Jak uzyskać dane z ostatniego tygodnia w MySQL

Oto kroki, aby uzyskać dane z ostatniego tygodnia w MySQL. Załóżmy, że masz następującą tabelę zamówienia_produktów(id, data_zamówienia, kwota)

mysql> create table product_orders(id int, order_date date, amount int);

mysql> insert into product_orders values(1,'2020-07-20',100),
     (2,'2020-07-21',250),
     (3,'2020-07-22',225),
     (4,'2020-07-23',150),
     (5,'2020-07-24',200),
     (6,'2020-07-25',180),
     (7,'2020-07-26',150),
     (8,'2020-07-27',200),
     (9,'2020-07-28',250),
     (10,'2020-07-29',300),
     (11,'2020-07-30',150),
     (12,'2020-07-31',200),
     (13,'2020-08-01',180),
     (14,'2020-08-02',200);

mysql> select * from product_orders;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    1 | 2020-07-20 |    100 |
|    2 | 2020-07-21 |    250 |
|    3 | 2020-07-22 |    225 |
|    4 | 2020-07-23 |    150 |
|    5 | 2020-07-24 |    200 |
|    6 | 2020-07-25 |    180 |
|    7 | 2020-07-26 |    150 |
|    8 | 2020-07-27 |    200 |
|    9 | 2020-07-28 |    250 |
|   10 | 2020-07-29 |    300 |
|   11 | 2020-07-30 |    150 |
|   12 | 2020-07-31 |    200 |
|   13 | 2020-08-01 |    180 |
|   14 | 2020-08-02 |    200 |
+------+------------+--------+

Przeczytaj bonus:baza danych kopii MySQL

Oto zapytanie SQL, aby uzyskać dane z ostatniego tygodnia w MySQL.

mysql> select * from product_orders where week(order_date)=week(now())-1;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    7 | 2020-07-26 |    150 |
|    8 | 2020-07-27 |    200 |
|    9 | 2020-07-28 |    250 |
|   10 | 2020-07-29 |    300 |
|   11 | 2020-07-30 |    150 |
|   12 | 2020-07-31 |    200 |
|   13 | 2020-08-01 |    180 |
+------+------------+--------+

W powyższym zapytaniu SQL używamy funkcji WEEK(), aby uzyskać numer tygodnia data_zamówienia kolumna. Wybieramy tylko te rekordy, których numer tygodnia jest o 1 mniejszy niż numer tygodnia w dniu dzisiejszym, uzyskany za pomocą funkcji NOW().

Przeczytaj bonus:MySQL Wstaw do Select

Jak uzyskać dane z ostatnich 7 dni w MySQL

Czasami może być konieczne pobranie danych z ostatnich 7 dni. Oto zapytanie SQL, aby uzyskać dane z ostatnich 7 dni w MySQL.

mysql> select * from product_orders where order_date> now() -  interval 7 day;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    9 | 2020-07-28 |    250 |
|   10 | 2020-07-29 |    300 |
|   11 | 2020-07-30 |    150 |
|   12 | 2020-07-31 |    200 |
|   13 | 2020-08-01 |    180 |
|   14 | 2020-08-02 |    200 |
+------+------------+--------+

W powyższym zapytaniu wybieramy te rekordy, których data_zamówienia jest po minionych 7 dniach od dzisiaj.

Przeczytaj bonus:MySQL wybierz N pierwszych wierszy

Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można uzyskać wiosennego rozruchu, aby automatycznie utworzyć schemat bazy danych

  2. Przewodnik po projektowaniu bazy danych dla RBAC w MySQL

  3. Jak uzupełnić ciąg znakami wiodącymi/końcowymi w MySQL — LPAD(), RPAD()

  4. Przyspieszenie liczenia wierszy w MySQL

  5. Tworzenie tabeli liczb w MySQL