sql >> Database >  >> RDS >> Mysql

Gegevens van vorige week ophalen in MySQL

Soms moet u de rijen van vorige week in MySQL ophalen voor rapportage en analyse. Hier leest u hoe u gegevens van vorige week in MySQL kunt krijgen.

Hoe u gegevens van vorige week in MySQL kunt krijgen

Hier zijn de stappen om gegevens van vorige week in MySQL te krijgen. Stel dat u de volgende tabel product_orders(id, order_date, bedrag) heeft

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

Bonus Lezen:MySQL Copy Database

Hier is de SQL-query om de gegevens van vorige week in MySQL te krijgen.

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

In de bovenstaande SQL-query gebruiken we de functie WEEK() om het weeknummer van order_date te krijgen kolom. We selecteren alleen die records waarvan het weeknummer 1 minder is dan het weeknummer van de huidige datum, verkregen met de NU()-functie.

Bonus lezen:MySQL invoegen in Select

Hoe u gegevens van de afgelopen 7 dagen in MySQL kunt krijgen

Soms moet u records van de afgelopen 7 dagen ophalen. Hier is de SQL-query om gegevens van de afgelopen 7 dagen in MySQL te krijgen.

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

In de bovenstaande zoekopdracht selecteren we die records waarvan order_date is na een afgelopen interval van 7 dagen vanaf vandaag.

Bonus Lezen:MySQL Selecteer Top N Rijen

Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te controleren. Probeer het vandaag nog!

  1. Incrementele belasting implementeren met behulp van Change Data Capture in SQL Server

  2. Haal de dagnaam uit een datum in PostgreSQL

  3. Een SSH-tunnel maken voor MySQL Remote Access

  4. Volledige lijst met tekensets die worden ondersteund door MariaDB