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

Cómo obtener datos de ventas de los últimos 3 meses en MySQL

Es útil obtener datos de ventas de los 3 meses anteriores para comprender las tendencias de ventas, realizar informes y análisis de datos. Aquí le mostramos cómo obtener los datos de ventas de los últimos 3 meses en MySQL para su negocio/sitio web. Veremos cómo seleccionar registros de los últimos 3 meses usando la función INTERVALO en MySQL.

Cómo obtener datos de ventas de los últimos 3 meses en MySQL

Estos son los pasos para obtener los datos de ventas de los últimos 3 meses en MySQL. Supongamos que tiene la siguiente tabla ventas (fecha_pedido, cantidad) que contiene información de ventas diarias.

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

Lectura adicional:cómo obtener registros del mes actual

Aquí está la consulta SQL para obtener los datos de ventas de los últimos 3 meses en MySQL, también conocido como ventas continuas de 3 meses. Usamos la función INTERVAL() para obtener los datos de ventas de los últimos 3 meses.

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

En la consulta SQL anterior, le decimos a MySQL que obtenga datos de ventas para todas las fechas donde order_date está dentro de nuestro INTERVALO especificado, es decir, pasados ​​3 meses a partir de AHORA.

Lectura adicional:Cómo crear un histograma en MySQL

Dado que diferentes meses tienen diferentes números de días, cuando menciona INTERVALO 3 meses , MySQL obtendrá datos después del mismo día exacto del mes, antes de 3 meses. Es decir, si hoy es 9 de junio, obtendrá datos de ventas del 9 de marzo.

Si desea obtener los datos de ventas de los últimos 90 días, aquí está la consulta SQL para obtener los datos de ventas de los últimos 90 días.

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

Lectura adicional:Cómo calcular la tasa de conversión en MySQL

Si tiene varias filas para cada order_date, deberá agregar las ventas diarias cuando obtenga los datos de ventas de los últimos 3 meses. Por ejemplo, si tiene una tabla de ventas, como se muestra a continuación

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

Luego, aquí está la consulta para obtener los datos de ventas de los últimos 3 meses, después de agregar las ventas diarias

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

Puede trazar estos datos de ventas en un gráfico de líneas utilizando una herramienta de gráficos como Ubiq.

También puede agregar estos datos de ventas para cada mes utilizando la siguiente consulta. Usamos DATE_FORMAT para obtener nombres de meses a partir de valores de fecha.

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

y grábelo en un gráfico de barras como se muestra a continuación, creado con Ubiq.

¡Eso es todo! Con suerte, usted también puede obtener los datos de ventas de los últimos 3 meses en MySQL para su empresa/sitio web/aplicación y compartirlos con su equipo.

Si desea crear gráficos, paneles e informes desde la base de datos MySQL, puede probar Ubiq. Ofrecemos una prueba gratuita de 14 días.