Soms moet u het record van de vorige maand ophalen of rijen van de vorige maand ophalen. Hier leest u hoe u gegevens van de afgelopen maand in MySQL kunt krijgen.
Hoe u gegevens van de afgelopen maand in MySQL kunt krijgen
Dit zijn de stappen om gegevens van de afgelopen maand in MySQL te krijgen.
Stel dat u de volgende tabel orders(id, order_date, hoeveelheid) . heeft in MySQL die dagelijkse bestelbedragen bevat.
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 | +------+------------+--------+
Bonus lezen:tabel kopiëren in MySQL
Hoe u een record van een maand in MySQL kunt krijgen
Hier is de SQL-query om een record van een maand in MySQL te krijgen
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 de bovenstaande zoekopdracht selecteren we alleen die records waarvan de maand één minder is dan de maand van de huidige datum. We verkrijgen het maandaantal datums met de functie MAAND(). We verkrijgen de huidige datum met behulp van de NOW()-functie.
Volgens onze gegevens krijgen we, aangezien de huidige maand augustus is, de records van de vorige maand, dat wil zeggen juli.
Hopelijk kun je nu gemakkelijk gegevens van de laatste maand in MySQL krijgen.
Bonus Lezen:Hoe voeg ik een NOT NULL-beperking toe in MySQL
Evenzo, als u records van de afgelopen een maand wilt laten rollen, dat wil zeggen de afgelopen 30 dagen, dan is hier de SQL-query ervoor.
select * from orders where order_date>now() - interval 1 month;
In de bovenstaande zoekopdracht selecteren we rijen na een interval van de afgelopen 1 maand. We gebruiken de INTERVAL-clausule en de NOW()-functie om de datum 1 maand in het verleden, vanaf de huidige datum te verkrijgen.
Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te controleren. Probeer het vandaag nog!