sql >> Database teknologi >  >> RDS >> Mysql

Sådan får du sidste 3 måneders salgsdata i MySQL

Det er nyttigt at få tidligere 3 måneders salgsdata for at forstå salgstendenser, lave rapportering og dataanalyse. Sådan får du de seneste 3 måneders salgsdata i MySQL til din virksomhed/hjemmeside. Vi vil se på, hvordan du vælger poster for de seneste 3 måneder ved hjælp af INTERVAL-funktionen i MySQL.

Sådan får du sidste 3 måneders salgsdata i MySQL

Her er trinene til at få de seneste 3 måneders salgsdata i MySQL. Lad os sige, at du har følgende tabel salg(ordre_dato, beløb) der indeholder daglige salgsoplysninger.

mysql> select order_date,sale from sales;

(showing only last few records)
+------------+------+
| order_date | sale |
+------------+------+
| 2020-01-28 |  230 |
|        ... |  ... |
| 2020-05-29 |  300 |
| 2020-05-30 |  250 |
| 2020-05-31 |  250 |
| 2020-06-01 |  250 |
| 2020-06-02 |  150 |
| 2020-06-03 |  300 |
| 2020-06-04 |  200 |
| 2020-06-05 |  200 |
| 2020-06-06 |  250 |
| 2020-06-07 |  150 |
| 2020-06-08 |  300 |
| 2020-06-09 |  200 |
+------------+------+

Bonus Læs:Sådan får du optegnelser over den aktuelle måned

Her er SQL-forespørgslen for at få de seneste 3 måneders salgsdata i MySQL, også kendt som rullende 3 måneders salg. Vi bruger INTERVAL()-funktionen til at få salgsdata for de sidste 3 måneder.

mysql>select order_date,sale from sales
where order_date > now() - INTERVAL 3 MONTH;

(showing only last few records)
+------------+------+
| order_date | sale |
+------------+------+
| 2020-02-09 |  230 |
|        ... |  ... |
| 2020-05-29 |  300 |
| 2020-05-30 |  250 |
| 2020-05-31 |  250 |
| 2020-06-01 |  250 |
| 2020-06-02 |  150 |
| 2020-06-03 |  300 |
| 2020-06-04 |  200 |
| 2020-06-05 |  200 |
| 2020-06-06 |  250 |
| 2020-06-07 |  150 |
| 2020-06-08 |  300 |
| 2020-06-09 |  200 |
+------------+------+

I ovenstående SQL-forespørgsel beder vi MySQL om at få salgsdata for alle datoer, hvor order_date er inden for vores specificerede INTERVAL, det vil sige sidste 3 måneder fra NU.

Bonus Læs:Sådan opretter du histogram i MySQL

Da forskellige måneder har forskelligt antal dage, når du nævner INTERVAL 3 måneder , vil MySQL få data efter nøjagtig samme dag i måneden, før 3 måneder. Det vil sige, hvis i dag er den 9. juni, vil den få salgsdata fra den 9. marts.

Hvis du vil have salgsdata fra de seneste 90 dage, er her SQL-forespørgslen til at hente salgsdata fra de sidste 90 dage.

mysql>select order_date,sale from sales
where order_date > now() - INTERVAL 90 DAY;

(showing only last few records)
+------------+------+
| order_date | sale |
+------------+------+
| 2020-03-11 |  230 |
|        ... |  ... |
| 2020-05-29 |  300 |
| 2020-05-30 |  250 |
| 2020-05-31 |  250 |
| 2020-06-01 |  250 |
| 2020-06-02 |  150 |
| 2020-06-03 |  300 |
| 2020-06-04 |  200 |
| 2020-06-05 |  200 |
| 2020-06-06 |  250 |
| 2020-06-07 |  150 |
| 2020-06-08 |  300 |
| 2020-06-09 |  200 |
+------------+------+

Bonus Læs:Sådan beregnes konverteringsrate i MySQL

Hvis du har flere rækker for hver ordre_dato, bliver du nødt til at aggregere daglige salg, når du får de seneste 3 måneders salgsdata. For eksempel, hvis du har salgstabel, som vist nedenfor

mysql> select order_date,sale from sales;

(showing only last few records)
+---------------------+------+
| order_date          | sale |
+---------------------+------+
| 2020-01-28 09:30:35 |  23  |
| 2020-01-28 10:10:00 |  30  |
| 2020-01-28 11:00:15 |  20  |
| 2020-01-28 14:50:35 |  15  |
| 2020-01-28 15:30:36 |  25  |
| 2020-01-28 17:10:55 |  15  |
|                 ... |  ... |
+---------------------+------+

Så her er forespørgslen for at få salgsdata for de seneste 3 måneder efter sammenlægning af daglige salg

mysql>select date(order_date),sale from sales
      where order_date > now() - INTERVAL 3 MONTH
      group by date(order_date);

(showing only last few records)
+------------+------+
| order_date | sale |
+------------+------+
| 2020-03-09 |  230 |
|        ... |  ... |
| 2020-05-29 |  300 |
| 2020-05-30 |  250 |
| 2020-05-31 |  250 |
| 2020-06-01 |  250 |
| 2020-06-02 |  150 |
| 2020-06-03 |  300 |
| 2020-06-04 |  200 |
| 2020-06-05 |  200 |
| 2020-06-06 |  250 |
| 2020-06-07 |  150 |
| 2020-06-08 |  300 |
| 2020-06-09 |  200 |
+------------+------+

Du kan plotte disse salgsdata på et linjediagram ved hjælp af et diagramværktøj såsom Ubiq.

Du kan også samle disse salgsdata for hver måned ved hjælp af følgende forespørgsel. Vi bruger DATE_FORMAT til at hente månedsnavne fra datoværdier.

mysql>select date_format(order_date,'%b'),sale from sales
      where order_date > now() - INTERVAL 3 MONTH
      group by date_format(order_date,'%b');


+------------+-------+
| order_date |  sale |
+------------+-------+
| Mar        |   830 |
| Apr        | 10300 |
| May        | 12250 |
| Jun        |  1250 |
+------------+-------+

og plot det på et søjlediagram som vist nedenfor, oprettet ved hjælp af Ubiq.

Det er det! Forhåbentlig kan du også få de seneste 3 måneders salgsdata i MySQL for din virksomhed/hjemmeside/app og dele dem med dit team.

Hvis du vil oprette diagrammer, dashboards og rapporter fra MySQL-databasen, kan du prøve Ubiq. Vi tilbyder en 14-dages gratis prøveperiode.

  1. Sådan kopieres data fra en tabel til en anden i SQL

  2. Hvordan nulstiller jeg postgresql 9.2 standardbruger (normalt 'postgres') adgangskode på mac os x 10.8.2?

  3. Sådan håndteres fragmentering af auto_increment ID-kolonnen i MySQL

  4. HubSpot ODBC-driver