sql >> Databáze >  >> RDS >> Mysql

Jak získat data z minulého týdne v MySQL

Někdy možná budete muset načíst řádky z minulého týdne v MySQL pro vytváření sestav a analýzu. Zde je návod, jak získat data z minulého týdne v MySQL.

Jak získat data z minulého týdne v MySQL

Zde jsou kroky k získání dat z minulého týdne v MySQL. Řekněme, že máte následující tabulku product_orders(id, order_date, number)

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 |
+------+------------+--------+

Bonusové čtení:Kopírovací databáze MySQL

Zde je dotaz SQL pro získání dat z minulého týdne v 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 |
+------+------------+--------+

Ve výše uvedeném SQL dotazu používáme funkci WEEK() k získání čísla týdne order_date sloupec. Vybíráme pouze ty záznamy, jejichž číslo týdne je o 1 menší než číslo týdne dnešního data, získané pomocí funkce NOW().

Bonusové čtení:MySQL Insert to Select

Jak získat data za posledních 7 dní v MySQL

Někdy možná budete muset načíst záznamy za posledních 7 dní. Zde je dotaz SQL pro získání dat za posledních 7 dní v 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 |
+------+------------+--------+

Ve výše uvedeném dotazu vybereme ty záznamy, jejichž datum_objednávky je po uplynulém intervalu 7 dnů ode dneška.

Bonusové čtení:MySQL Select Top N Rows

Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Vyzkoušejte to ještě dnes!

  1. Jak vrátit seznam dostupných kolace v PostgreSQL

  2. Oracle porovnává časové razítko s datem

  3. php mysqli_connect:metoda ověřování neznámá klientovi [caching_sha2_password]

  4. 3 způsoby, jak nahradit NULL za „N/A“ v SQLite