sql >> Database >  >> RDS >> Mysql

Hoe u records van de laatste 15 dagen in MySQL kunt krijgen

Soms moet u rijen van de laatste 15 dagen in MySQL krijgen. Hier leest u hoe u records van de afgelopen 15 dagen in MySQL kunt krijgen. U kunt het ook gebruiken om het aantal gebruikers te krijgen dat zich in de afgelopen 15 dagen heeft aangemeld, of u kunt verkoopgegevens van de afgelopen 15 dagen selecteren voor verdere analyse.

Hoe u records van de afgelopen 15 dagen in MySQL kunt krijgen

Dit zijn de stappen om records van de afgelopen 15 dagen in MySQL te krijgen.

Stel dat u de volgende tabel heeft:sales(order_date, sale, orders) dat het dagelijkse aantal bestellingen en het verkoopbedrag bevat.

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

mysql> insert into sales(order_date ,sale ,orders )
     values( '2020-04-28' ,  300 ,     10 ),
     ( '2020-04-29' ,  250 ,     15 ),
     ( '2020-04-30' ,  250 ,     12 ),
     ( '2020-05-01' ,  250 ,     14 ),
     ( '2020-05-02' ,  150 ,     20 ),
     ( '2020-05-03' ,  300 ,     21 ),
     ( '2020-05-04' ,  200 ,     15 ),
     ( '2020-05-05' ,  200 ,     17 ),
     ( '2020-05-06' ,  250 ,     12 ),
     ( '2020-05-07' ,  150 ,     15 ),
     ( '2020-05-08' ,  300 ,     12 ),
     ( '2020-05-09' ,  280 ,     18 ),
     ( '2020-05-10' ,  320 ,     16 ),
     ( '2020-05-11' ,  400 ,     15 ),
     ( '2020-05-12' ,  250 ,     13 ),
     ( '2020-05-13' ,  100 ,     16 ),
     ( '2020-05-14' ,  200 ,     18 );

mysql> select * from sales;
+------------+------+--------+
| order_date | sale | orders |
+------------+------+--------+
| 2020-04-28 |  300 |     10 |
| 2020-04-29 |  250 |     15 |
| 2020-04-30 |  250 |     12 |
| 2020-05-01 |  250 |     14 |
| 2020-05-02 |  150 |     20 |
| 2020-05-03 |  300 |     21 |
| 2020-05-04 |  200 |     15 |
| 2020-05-05 |  200 |     17 |
| 2020-05-06 |  250 |     12 |
| 2020-05-07 |  150 |     15 |
| 2020-05-08 |  300 |     12 |
| 2020-05-09 |  280 |     18 |
| 2020-05-10 |  320 |     16 |
| 2020-05-11 |  400 |     15 |
| 2020-05-12 |  250 |     13 |
| 2020-05-13 |  100 |     16 |
| 2020-05-14 |  200 |     18 |
+------------+------+--------+

Bonus lezen:hoe u het laatste record in elke groep kunt krijgen

Hoe u verkoopgegevens van de afgelopen 15 dagen in SQL kunt krijgen

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

mysql> select * from sales
       where order_date> now() - INTERVAL 15 day;
+------------+------+--------+
| order_date | sale | orders |
+------------+------+--------+
| 2020-04-30 |  250 |     12 |
| 2020-05-01 |  250 |     14 |
| 2020-05-02 |  150 |     20 |
| 2020-05-03 |  300 |     21 |
| 2020-05-04 |  200 |     15 |
| 2020-05-05 |  200 |     17 |
| 2020-05-06 |  250 |     12 |
| 2020-05-07 |  150 |     15 |
| 2020-05-08 |  300 |     12 |
| 2020-05-09 |  280 |     18 |
| 2020-05-10 |  320 |     16 |
| 2020-05-11 |  400 |     15 |
| 2020-05-12 |  250 |     13 |
| 2020-05-13 |  100 |     16 |
| 2020-05-14 |  200 |     18 |
+------------+------+--------+

In de bovenstaande query gebruiken we de systeemfunctie now() om de huidige datetime te krijgen. Vervolgens gebruiken we de INTERVAL-clausule om die records te filteren waar order_date valt na een interval van 15 dagen vóór huidige datetime.

Bonus lezen:hoe u gegevens van de afgelopen 12 maanden in MySQL kunt krijgen

Aanmeldingen en nieuwe gebruikers ontvangen in de afgelopen 15 dagen

Op dezelfde manier kunt u in de afgelopen 15 dagen ook nieuwe aanmeldingen en gebruikers in MySQL krijgen. Stel dat u de volgende tabel Users(user_id, date_joined) heeft die aanmeldingsgegevens bevat.

mysql> select * from users;
+-------------+---------+
| date_joined | user_id |
+-------------+---------+
| 2020-04-20  |     213 |
| 2020-04-22  |     214 |
| 2020-04-23  |     215 |
| 2020-04-24  |     216 |
| 2020-04-25  |     217 |
| 2020-04-26  |     218 |
| 2020-04-27  |     219 |
| 2020-04-28  |     220 |
| 2020-04-29  |     221 |
| 2020-05-30  |     222 |
| 2020-05-30  |     222 |
| 2020-05-01  |     223 |
| 2020-05-01  |     224 |
| 2020-05-02  |     225 |
| 2020-05-02  |     226 |
| 2020-05-03  |     226 |
| 2020-05-04  |     227 |
| 2020-05-04  |     228 |
| 2020-05-05  |     229 |
| 2020-05-05  |     230 |
| 2020-05-05  |     231 |
| 2020-05-05  |     232 |
| 2020-05-06  |     233 |
| 2020-05-08  |     234 |
+-------------+---------+

Bonus lezen:MySQL-weergave maken

Hier is de SQL-query om dagelijks nieuwe aanmeldingen en gebruikers in de afgelopen 15 dagen in MySQL te krijgen.

mysql> select * from users
       where date_joined> now() - INTERVAL 15 day;
+-------------+---------+
| date_joined | user_id |
+-------------+---------+
| 2020-04-23  |     215 |
| 2020-04-24  |     216 |
| 2020-04-25  |     217 |
| 2020-04-26  |     218 |
| 2020-04-27  |     219 |
| 2020-04-28  |     220 |
| 2020-04-29  |     221 |
| 2020-05-30  |     222 |
| 2020-05-30  |     222 |
| 2020-05-01  |     223 |
| 2020-05-01  |     224 |
| 2020-05-02  |     225 |
| 2020-05-02  |     226 |
| 2020-05-03  |     226 |
| 2020-05-04  |     227 |
| 2020-05-04  |     228 |
| 2020-05-05  |     229 |
| 2020-05-05  |     230 |
| 2020-05-05  |     231 |
| 2020-05-05  |     232 |
| 2020-05-06  |     233 |
| 2020-05-08  |     234 |
+-------------+---------+

In de bovenstaande query gebruiken we de systeemfunctie now() om de huidige datetime te krijgen. Vervolgens gebruiken we de INTERVAL-clausule om die records te filteren waar order_date valt na een interval van 15 dagen vóór huidige datetime.

Dat is het! Zoals je kunt zien, is het vrij eenvoudig om records van de afgelopen 15 dagen in MySQL te krijgen met behulp van de INTERVAL-clausule.

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

  1. Hoe kan ik fouten met onbewerkte variabele lengte te lang in SQL Developer voorkomen?

  2. Een Microsoft Access-rapport naar PDF converteren (3 manieren)

  3. Oracle - Welk TNS Names-bestand gebruik ik?

  4. Rails automatisch toewijzende id die al bestaat