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

So erhalten Sie Datensätze der letzten 15 Tage in MySQL

Manchmal müssen Sie möglicherweise die Zeilen der letzten 15 Tage in MySQL abrufen. So erhalten Sie die Datensätze der letzten 15 Tage in MySQL. Sie können damit auch die Anzahl der in den letzten 15 Tagen angemeldeten Benutzer abrufen oder die Verkaufsdaten der letzten 15 Tage zur weiteren Analyse auswählen.

So erhalten Sie Datensätze der letzten 15 Tage in MySQL

Hier sind die Schritte, um Datensätze der letzten 15 Tage in MySQL zu erhalten.

Nehmen wir an, Sie haben die folgende Tabelle  sales(order_date, sale, orders) die die tägliche Anzahl der Bestellungen und den Verkaufsbetrag enthält.

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

Bonuslektüre:So erhalten Sie den letzten Datensatz in jeder Gruppe

So erhalten Sie die Verkaufsdaten der letzten 15 Tage in SQL

Hier ist die SQL-Abfrage, um die Datensätze der letzten 15 Tage in MySQL abzurufen

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 der obigen Abfrage verwenden wir die Systemfunktion now() um die aktuelle Datumszeit zu erhalten. Dann verwenden wir die INTERVAL-Klausel, um die Datensätze zu filtern, bei denen order_date nach einem Intervall von 15 Tagen vor der aktuellen Datumszeit liegt.

Bonuslektüre:So erhalten Sie die Daten der letzten 12 Monate in MySQL

Wie man in den letzten 15 Tagen Anmeldungen und neue Benutzer erhält

In ähnlicher Weise können Sie in MySQL auch neue Anmeldungen und Benutzer in den letzten 15 Tagen erhalten. Nehmen wir an, Sie haben die folgende Tabelle Users(user_id, date_joined) die Anmeldedaten enthält.

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

Bonuslektüre:So erstellen Sie eine MySQL-Ansicht

Hier ist die SQL-Abfrage, um täglich neue Anmeldungen und Benutzer in den letzten 15 Tagen in MySQL zu erhalten.

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 der obigen Abfrage verwenden wir die Systemfunktion now() um die aktuelle Datumszeit zu erhalten. Dann verwenden wir die INTERVAL-Klausel, um die Datensätze zu filtern, bei denen order_date nach einem Intervall von 15 Tagen vor der aktuellen Datumszeit liegt.

Das ist es! Wie Sie sehen können, ist es ziemlich einfach, Datensätze der letzten 15 Tage in MySQL mit der INTERVAL-Klausel zu erhalten.

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