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!