sql >> Databasteknik >  >> RDS >> Mysql

Hur man får data om de senaste 12 månaderna i MySQL

Ibland kan du behöva få försäljningsdata för de senaste 12 månaderna för rapportering. Så här hämtar du de senaste 12 månadernas poster från kolumnen datetime. Du kan använda den för att få senaste 12 månaders data i MySQL, få antal användare som registrerats under de senaste 12 månaderna och få senaste 1 års försäljningsdata för vidare analys.

Hur får du data från de senaste 12 månaderna i MySQL

Här är stegen för att få senaste 12 månaders data i MySQL. Låt oss säga att du har följande tabell  försäljning(orderdatum, rea, beställningar) som innehåller dagligt antal beställningar och försäljningsbelopp.

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 |  200 |     18 |
|        ... |  ... |    ... |
+------------+------+--------+

Bonus Läs:Hur man skapar vy i MySQL

Hur får du de senaste 12 månadernas försäljningsdata i SQL

Här är SQL-frågan för att få senaste 12 månaders data i MySQL

mysql> select * from sales
       where order_date> now() - INTERVAL 12 month;

I ovanstående fråga använder vi systemfunktionen now() för att få aktuell datumtid. Sedan använder vi INTERVAL-satsen för att filtrera de poster där order_date faller efter ett intervall på 12 månader före nuvarande datetime.

Bonus Läs:Hur man får nya användare per dag i MySQL

Hur får du registreringar och nya användare under innevarande månad i MySQL

På samma sätt kan du också få nya registreringar och användare under de senaste 12 månaderna i MySQL. Låt oss säga att du har följande tabell Users(user_id, date_joined) som innehåller registreringsdata.

mysql> select * from users;
+-------------+---------+
| date_joined | user_id |
+-------------+---------+
| 2020-04-28  |     213 |
| 2020-04-28  |     214 |
| 2020-04-29  |     215 |
| 2020-04-29  |     216 |
| 2020-04-29  |     217 |
| 2020-04-30  |     218 |
| 2020-04-30  |     219 |
| 2020-04-30  |     220 |
| 2020-04-30  |     221 |
| 2020-05-01  |     222 |
| 2020-05-01  |     222 |
| 2020-05-01  |     223 |
| 2020-05-04  |     224 |
| 2020-05-04  |     225 |
| 2020-05-04  |     226 |
| 2020-05-04  |     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-06  |     234 |
|        ...  |     ... |
+-------------+---------+

Bonus Läs:Hur man får totalt kumulativa användare i MySQL

Här är SQL-frågan för att få dagliga nya registreringar och användare under de senaste 12 månaderna i MySQL.

mysql> select * from users
       where date_joined> now() - INTERVAL 12 month;

I ovanstående fråga använder vi systemfunktionen now() för att få aktuell datumtid. Sedan använder vi INTERVAL-satsen för att filtrera de poster där order_date faller efter ett intervall på 12 månader före nuvarande datetime.

Det är allt! Som du kan se är det ganska enkelt att få data om de senaste 12 månaderna i MySQL med hjälp av INTERVAL-satsen.

Om du vill skapa företagsöversikter, rapporter och diagram från MySQL-data kan du prova Ubiq. Vi erbjuder en 14-dagars gratis provperiod!

  1. LINQ to Entities känner inte igen metoden 'System.String ToString()' och den här metoden kan inte översättas till ett butiksuttryck

  2. Pivottabell med icke-kardinalvärden

  3. Vad är skillnaden mellan en hash-join och en merge-join (Oracle RDBMS )?

  4. Använd `SELECT` för att anropa en funktion