sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo calcular las ventas totales por mes en MySQL?

Las ventas mensuales son una métrica de KPI comercial muy útil para realizar un seguimiento, para cada negocio. Le ayuda a comprender cómo sus campañas e iniciativas de marketing afectan sus ventas, identificar la periodicidad de las ventas y detectar fluctuaciones. Si sus datos se almacenan en una base de datos, puede calcular fácilmente el informe de ventas mensual en SQL. Aquí se explica cómo calcular las ventas totales por mes en MySQL. También puede usarlo para obtener datos mensuales en MySQL.

¿Cómo calcular las ventas totales por mes en MySQL?

Estos son los pasos para calcular las ventas totales por mes en MySQL. Supongamos que tiene la siguiente tabla sales(order_date, sale) que almacena datos de ventas.

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

Calcular Informe de Ventas Mensuales en MySQL

MySQL proporciona funciones de MES y AÑO que le permiten calcular el mes y el año respectivamente, a partir de una fecha. Usaremos estas 2 funciones para calcular las ventas totales por mes en MySQL.

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

La consulta anterior usa la función SUM que lo ayudará a sumar las ventas totales cada mes. Si solo desea un recuento total de las ventas cada mes, puede usar la función COUNT en su lugar.

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

Si desea filtrar los datos utilizados para calcular las ventas totales por mes en MySQL, puede hacerlo con la ayuda de la cláusula WHERE, como se muestra a continuación en negrita

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);

Del mismo modo, también puede calcular las ventas promedio por semana y las ventas promedio por día en MySQL.

Si tiene datos de ventas de varios productos en su tabla sales(product, order_date, sale), puede calcular las ventas mensuales de cada producto actualizando las cláusulas GROUP BY y ORDER BY

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

Ahora que sabe cómo calcular las ventas totales por mes en MySQL, puede personalizarlo según sus necesidades.

Lectura adicional: Cómo calcular el porcentaje de crecimiento mes a mes en MySQL

Para graficar los datos de ventas mensuales, modificaremos ligeramente nuestra consulta SQL anterior para obtener los nombres de los meses usando la función DATE_FORMAT, en lugar de usar números de año y mes

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

Después de calcular las ventas totales por mes en MySQL, puede trazar las ventas mensuales en un gráfico de barras utilizando una herramienta de gráficos. Este es un ejemplo de un gráfico de ventas mensuales creado con Ubiq

Por cierto, si desea crear gráficos y paneles de ventas a partir de la base de datos MySQL, puede probar Ubiq. Ofrecemos una prueba gratuita de 14 días.