Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So erhalten Sie die Daten des letzten Monats in MySQL

Manchmal müssen Sie möglicherweise den Datensatz des letzten Monats abrufen oder Zeilen aus dem vorherigen Monat abrufen. So erhalten Sie die Daten des letzten Monats in MySQL.

So erhalten Sie die Daten des letzten Monats in MySQL

Hier sind die Schritte zum Abrufen der Daten des letzten Monats in MySQL.

Nehmen wir an, Sie haben die folgende Tabelle orders(id, order_date, amount) in MySQL, das tägliche Bestellmengen enthält.

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

mysql> insert into orders(id,order_date, amount)
     values(1,'2020-07-25',250),
     (2,'2020-07-26',350),
     (3,'2020-07-27',200),
     (4,'2020-07-28',150),
     (5,'2020-07-29',350),
     (6,'2020-07-30',300),
     (7,'2020-07-31',250),
     (8,'2020-08-01',550),
     (9,'2020-08-02',350),
     (10,'2020-08-03',250),
     (11,'2020-08-04',200);

mysql> select * from orders;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    1 | 2020-07-25 |    250 |
|    2 | 2020-07-26 |    350 |
|    3 | 2020-07-27 |    200 |
|    4 | 2020-07-28 |    150 |
|    5 | 2020-07-29 |    350 |
|    6 | 2020-07-30 |    300 |
|    7 | 2020-07-31 |    250 |
|    8 | 2020-08-01 |    550 |
|    9 | 2020-08-02 |    350 |
|   10 | 2020-08-03 |    250 |
|   11 | 2020-08-04 |    200 |
+------+------------+--------+

Bonuslektüre:Wie man Tabellen in MySQL kopiert

So erhalten Sie den letzten Monatseintrag in MySQL

Hier ist die SQL-Abfrage, um den Datensatz des letzten Monats in MySQL abzurufen

mysql> select * from orders
     where month(order_date)=month(now())-1;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    1 | 2020-07-25 |    250 |
|    2 | 2020-07-26 |    350 |
|    3 | 2020-07-27 |    200 |
|    4 | 2020-07-28 |    150 |
|    5 | 2020-07-29 |    350 |
|    6 | 2020-07-30 |    300 |
|    7 | 2020-07-31 |    250 |
+------+------------+--------+

In der obigen Abfrage wählen wir nur die Datensätze aus, deren Monat um eins kleiner ist als der Monat des aktuellen Datums. Wir erhalten die Monatszahl der Daten mit der Funktion MONTH(). Wir erhalten das aktuelle Datum mit der Funktion NOW().

Gemäß unseren Daten erhalten wir, da der aktuelle Monat August ist, die Datensätze für den Vormonat, also Juli.

Hoffentlich können Sie jetzt ganz einfach die Daten des letzten Monats in MySQL abrufen.

Bonus-Leseartikel:Wie man NOT NULL-Einschränkungen in MySQL hinzufügt

Wenn Sie auf ähnliche Weise Aufzeichnungen für den letzten Monat erhalten möchten, d. h. die letzten 30 Tage, dann ist hier die SQL-Abfrage dafür.

select * from orders
where order_date>now() - interval 1 month;

In der obigen Abfrage wählen wir Zeilen nach dem letzten 1-Monats-Intervall aus. Wir verwenden die INTERVAL-Klausel und die NOW()-Funktion, um das Datum 1 Monat in der Vergangenheit vom aktuellen Datum zu erhalten.

Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!