sql >> Database >  >> RDS >> Mysql

Hoe u de verkoopgegevens van de laatste 3 maanden in MySQL kunt krijgen

Het is handig om verkoopgegevens van de afgelopen 3 maanden te krijgen om verkooptrends te begrijpen, rapportage en gegevensanalyse uit te voeren. Hier leest u hoe u verkoopgegevens van de laatste 3 maanden in MySQL voor uw bedrijf/website kunt krijgen. We zullen bekijken hoe u records van de afgelopen 3 maanden kunt selecteren met de INTERVAL-functie in MySQL.

Hoe u verkoopgegevens van de afgelopen 3 maanden in MySQL kunt krijgen

Hier zijn de stappen om verkoopgegevens van de laatste 3 maanden in MySQL te krijgen. Stel dat u de volgende tabel verkoop(order_date, hoeveelheid) . heeft die dagelijkse verkoopinformatie bevat.

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 lezen:hoe u records van de huidige maand kunt krijgen

Hier is de SQL-query om verkoopgegevens van de laatste 3 maanden in MySQL te krijgen, ook wel bekend als voortschrijdende verkopen van 3 maanden. We gebruiken de INTERVAL()-functie om verkoopgegevens van de afgelopen 3 maanden op te halen.

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

In de bovenstaande SQL-query vertellen we MySQL om verkoopgegevens te krijgen voor alle datums waar order_date binnen ons gespecificeerde INTERVAL valt, dat wil zeggen de afgelopen 3 maanden vanaf NU.

Bonus Lezen:Histogram maken in MySQL

Aangezien verschillende maanden een verschillend aantal dagen hebben, wanneer u INTERVAL 3 maanden . vermeldt, , MySQL krijgt gegevens na exact dezelfde dag van de maand, vóór 3 maanden. Dat wil zeggen, als het vandaag 9 juni is, ontvangt het verkoopgegevens vanaf 9 maart.

Als u verkoopgegevens van de afgelopen 90 dagen wilt krijgen, volgt hier de SQL-query om verkoopgegevens van de afgelopen 90 dagen op te halen.

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 Lezen:Hoe de conversieratio in MySQL te berekenen

Als u meerdere rijen heeft voor elke order_date, moet u de dagelijkse verkopen samenvoegen wanneer u de verkoopgegevens van de afgelopen 3 maanden ontvangt. Als u bijvoorbeeld een verkooptabel heeft, zoals hieronder weergegeven

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

Dan is hier de vraag om verkoopgegevens van de afgelopen 3 maanden te krijgen, na het samenvoegen van dagelijkse verkopen

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

U kunt deze verkoopgegevens in een lijndiagram plotten met behulp van een grafiektool zoals Ubiq.

U kunt deze verkoopgegevens ook voor elke maand samenvoegen met behulp van de volgende zoekopdracht. We gebruiken DATE_FORMAT om maandnamen uit datumwaarden te halen.

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

en plot het op een staafdiagram zoals hieronder weergegeven, gemaakt met Ubiq.

Dat is het! Hopelijk kunt u ook de verkoopgegevens van de laatste drie maanden voor uw bedrijf/website/app in MySQL krijgen en deze met uw team delen.

Als u grafieken, dashboards en rapporten wilt maken vanuit de MySQL-database, kunt u Ubiq proberen. We bieden een gratis proefperiode van 14 dagen aan.

  1. Python/postgres/psycopg2:ID van zojuist ingevoegde rij ophalen

  2. MS-Access-recordset en klassenmodule

  3. Wereldback-updag:hoe en wanneer moet u een back-up van uw database maken?

  4. Bereken lopend totaal / lopend saldo