sql >> Database >  >> RDS >> Mysql

Hoe de totale omzet per maand berekenen in MySQL?

Maandelijkse verkopen zijn voor elk bedrijf een zeer nuttige zakelijke KPI-statistiek om bij te houden. Het helpt u te begrijpen hoe uw marketingcampagnes en -initiatieven uw verkoop beïnvloeden, de verkoopperiodiciteit te identificeren en schommelingen op te sporen. Als uw gegevens in een database zijn opgeslagen, kunt u eenvoudig het maandelijkse verkooprapport in SQL berekenen. Hier leest u hoe u de totale omzet per maand in MySQL kunt berekenen. Je kunt het ook gebruiken om maandgegevens in MySQL te krijgen.

Hoe bereken je de totale omzet per maand in MySQL?

Hier zijn de stappen om de totale omzet per maand in MySQL te berekenen. Stel dat u de volgende tabel sales(order_date, sale) . heeft die verkoopgegevens opslaat.

mysql>create table sales(order_date date,sale int);

mysql>insert into sales(order_date,sale)
      values('2020-01-01',10),('2020-01-02',12),('2020-01-03',15),
      ('2020-01-04',11),('2020-01-05',13),('2020-01-06',9),
      ('2020-01-07',21),('2020-01-08',10),('2020-01-09',10),
      ('2020-01-10',2),('2020-01-11',16),('2020-01-12',12),
      ('2020-01-13',10),('2020-01-14',18),('2020-01-15',15),
      ('2020-01-16',12),('2020-01-17',10),('2020-01-18',18),
      ('2020-01-19',14),('2020-01-20',16),('2020-01-21',12),
      ('2020-01-22',21),('2020-01-23',13),('2020-01-24',15),
      ('2020-01-25',20),('2020-01-26',14),('2020-01-27',16),
      ('2020-01-28',15),('2020-01-29',10),('2020-01-30',18);

mysql>select * from sales;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-01-01 |   10 |
| 2020-01-02 |   12 |
| 2020-01-03 |   15 |
| 2020-01-04 |   11 |
| 2020-01-05 |   13 |
| 2020-01-06 |    9 |
| 2020-01-07 |   21 |
| 2020-01-08 |   10 |
| 2020-01-09 |   10 |
| ...        |   ...|
+------------+------+

Bereken maandelijks verkooprapport in MySQL

MySQL biedt de functies MAAND en JAAR waarmee u respectievelijk de maand en het jaar kunt berekenen vanaf een datum. We zullen deze 2 functies gebruiken om de totale omzet per maand in MySQL te berekenen.

mysql> select year(order_date),month(order_date),sum(sale)
     from sales
     group by year(order_date),month(order_date)
     order by year(order_date),month(order_date);
+------------------+-------------------+-----------+
| year(order_date) | month(order_date) | sum(sale) |
+------------------+-------------------+-----------+
|             2020 |                 1 |       408 |
|             2020 |                 2 |       320 |
|             2020 |                 3 |       540 |
|              ... |               ... |       ... |
+------------------+-------------------+-----------+

De bovenstaande zoekopdracht gebruikt de SOM-functie waarmee u de totale verkoop elke maand kunt optellen. Als u alleen een totaal aantal verkopen per maand wilt, kunt u in plaats daarvan de functie AANTAL gebruiken.

mysql> select year(order_date),month(order_date),count(sale)
     from sales
     group by year(order_date),month(order_date)
     order by year(order_date),month(order_date);
+------------------+-------------------+-----------+
| year(order_date) | month(order_date) | sum(sale) |
+------------------+-------------------+-----------+
|             2020 |                 1 |        18 |
|             2020 |                 2 |        10 |
|             2020 |                 3 |        21 |
|              ... |               ... |       ... |
+------------------+-------------------+-----------+

Als u de gegevens wilt filteren die worden gebruikt om de totale verkoop per maand in MySQL te berekenen, dan kunt u dit doen met behulp van de WHERE-clausule, zoals hieronder weergegeven in vet

mysql> select year(order_date),month(order_date),sum(sale)
     from sales
     WHERE condition
     group by year(order_date),month(order_date)
     order by year(order_date),month(order_date);

Op dezelfde manier kunt u in MySQL ook de gemiddelde verkoop per week en de gemiddelde verkoop per dag berekenen.

Als u verkoopgegevens heeft voor meerdere producten in uw tabelverkoop (product, besteldatum, uitverkoop), dan kunt u de maandelijkse verkoop voor elk product berekenen door de GROUP BY- en ORDER BY-clausules bij te werken

mysql> create table sales(product varchar(255),order_date date,sale int);

mysql> insert into sales values('A','2020-01-01',20),('B','2020-01-02',25),
('B','2020-01-03',15),('A','2020-01-04',30),('A','2020-01-05',20);

mysql> select * from sales;
+---------+------------+------+
| product | order_date | sale |
+---------+------------+------+
|    A    | 2020-01-01 |   20 |
|    B    | 2020-01-02 |   25 |
|    B    | 2020-01-03 |   15 |
|    A    | 2020-01-04 |   30 |
|    A    | 2020-01-05 |   20 |
+---------+------------+------+

mysql> select product, year(order_date),month(order_date),sum(sale)
          from sales
          group by product, year(order_date),month(order_date)
          order by product, year(order_date),month(order_date);
+---------+------------------+-------------------+-----------+
| product | year(order_date) | month(order_date) | sum(sale) |
+---------+------------------+-------------------+-----------+
| A       |             2020 |                 1 |        70 |
| B       |             2020 |                 1 |        40 |
| ...     |              ... |               ... |       ... |
+---------+------------------+-------------------+-----------+

Nu u weet hoe u de totale omzet per maand in MySQL kunt berekenen, kunt u deze naar wens aanpassen.

Bonus lezen: Hoe bereken je het groeipercentage van maand tot maand in MySQL

Om maandelijkse verkoopgegevens in kaart te brengen, zullen we onze eerdere SQL-query enigszins wijzigen om maandnamen te krijgen met de functie DATE_FORMAT, in plaats van jaar- en maandnummers te gebruiken

mysql> select date_format(order_date,'%M'),sum(sale)
      from sales
      group by year(order_date),month(order_date)
      order by year(order_date),month(order_date);
+------------------------------+-----------+
| date_format(order_date,'%M') | sum(sale) |
+------------------------------+-----------+
| January                      |       408 |
| Febuary                      |       320 |
| March                        |       540 |
| ...                          |       ... |
+------------------------------+-----------+

Nadat u de totale omzet per maand in MySQL hebt berekend, kunt u de maandelijkse omzet in een staafdiagram plotten met behulp van een grafiektool. Hier is een voorbeeld van een maandelijkse verkoopgrafiek gemaakt met Ubiq

Trouwens, als je verkoopgrafieken en -dashboards wilt maken vanuit de MySQL-database, kun je Ubiq proberen. We bieden een gratis proefperiode van 14 dagen.

  1. Veelvoorkomende fouten in het ER-diagram

  2. Heroku pg:pull kan schema niet invullen

  3. Hoe verwijder ik specifieke rijen in SQLite Database?

  4. Wat is LENGTH() in MySQL?