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ś!