sql >> Database >  >> RDS >> Database

Records van de afgelopen 30 dagen ophalen

Soms moet u misschien rijen van de afgelopen 30 dagen ophalen of gegevens van de afgelopen 1 maand in MySQL. Het is gemakkelijk om records van de afgelopen 30 dagen in MySQL te krijgen, ook al is er geen ingebouwde functie voor. Dit is de SQL-query om records van de afgelopen 30 dagen te selecteren.

Hoe u records van de afgelopen 30 dagen in MySQL kunt ophalen

Hier is de SQL om records van de afgelopen 30 dagen op te halen. Stel dat u de volgende tabel sales(order_date, sale) . heeft die dagelijkse verkoopgegevens bevat.

mysql> create table sales(order_date date,sale int);

mysql> insert into sales(order_date, sale)
     values('2020-05-04',230),
     ('2020-05-05',200),
     ('2020-05-06',210),
     ('2020-05-07',180),
     ('2020-05-08',220),
     ('2020-05-09',230),
     ('2020-05-10',220),
     ('2020-05-11',225),
     ('2020-05-12',200),
     ('2020-05-13',210),
     ('2020-05-14',190),
     ('2020-05-15',200),
     ('2020-05-16',220),
     ('2020-05-17',210),
     ('2020-05-18',190),
     ('2020-05-19',180),
     ('2020-05-20',250),
     ('2020-05-21',240),
     ('2020-05-22',245),
     ('2020-05-23',230),
     ('2020-05-24',220),
     ('2020-05-25',210),
     ('2020-05-26',130),
     ('2020-05-27',200),
     ('2020-05-28',210),
     ('2020-05-29',221),
     ('2020-05-30',235),
     ('2020-05-31',233),
     ('2020-06-01',237),
     ('2020-06-02',230),
     ('2020-06-03',220),
     ('2020-06-04',210),
     ('2020-06-05',200),
     ('2020-06-06',260),
     ('2020-06-07',270),
     ('2020-06-08',240),
     ('2020-06-09',290),
     ('2020-06-10',230);

mysql> select * from sales;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-05-04 |  230 |
| 2020-05-05 |  200 |
| 2020-05-06 |  210 |
| 2020-05-07 |  180 |
| 2020-05-08 |  220 |
|        ... |  ... |
|        ... |  ... |
| 2020-06-06 |  260 |
| 2020-06-07 |  270 |
| 2020-06-08 |  240 |
| 2020-06-09 |  290 |
| 2020-06-10 |  230 |
+------------+------+

Bonus lezen:hoe u records kunt krijgen tussen 2 datums in MySQL

Hoe u records van de afgelopen 30 dagen kunt ophalen

Hier is de SQL-query om records van de afgelopen 30 dagen in MySQL te krijgen.

mysql> select * from sales
     where order_date > now() - INTERVAL 30 day;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-05-12 |  200 |
| 2020-05-13 |  210 |
| 2020-05-14 |  190 |
|        ... |  ... | 
|        ... |  ... | 
| 2020-06-08 |  240 |
| 2020-06-09 |  290 |
| 2020-06-10 |  230 |
+------------+------+

In de bovenstaande zoekopdracht selecteren we die records waar order_date valt na een afgelopen interval van 30 dagen. We gebruiken de systeemfunctie now() om de laatste datetime-waarde te krijgen, en de INTERVAL-clausule om een ​​datum van 30 dagen in het verleden te berekenen.

U kunt ook current_date . gebruiken in plaats van nu()

mysql> select * from sales
     where order_date > current_date - interval 30 day;

Bonus lezen:hoe u records van de afgelopen 24 uur in MySQL kunt krijgen

Hoe u gegevens van de afgelopen maand kunt verkrijgen

Hier is de SQL-query om records van de afgelopen 1 maand in MySQL te krijgen.

mysql> select * from sales
     where order_date > current_date - interval 1 month;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-05-11 |  225 |
| 2020-05-12 |  200 |
| 2020-05-13 |  210 |
|        ... |  ... |
|        ... |  ... |
| 2020-06-08 |  240 |
| 2020-06-09 |  290 |
| 2020-06-10 |  230 |
+------------+------+

Bonus lezen:hoe u records van de huidige maand in MySQL kunt krijgen

In de bovenstaande zoekopdracht selecteren we rijen waar order_date valt na een interval van afgelopen 1 maand. We gebruiken het argument '1 maand' voor de INTERVAL-clausule, in plaats van '30 dagen'

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

  1. Gebruik TYPEPROPERTY() om informatie over een gegevenstype in SQL Server te retourneren

  2. Voeg afwisselende rijkleur toe aan het rapport SQL Server Reporting Services

  3. Hoe de activiteit van één database in SQL Server te analyseren

  4. Versnel bulkinvoegbewerkingen met NHibernate