Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como obter dados de vendas dos últimos 3 meses no MySQL


É útil obter dados de vendas de 3 meses anteriores para entender as tendências de vendas, fazer relatórios e análise de dados. Veja como obter dados de vendas dos últimos 3 meses no MySQL para sua empresa/site. Veremos como selecionar registros dos últimos 3 meses usando a função INTERVAL no MySQL.


Como obter dados de vendas dos últimos 3 meses no MySQL


Aqui estão as etapas para obter dados de vendas dos últimos 3 meses no MySQL. Digamos que você tenha a seguinte tabela vendas(data_pedido, quantidade) que contém informações de vendas diárias.
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 |
+------------+------+


Bônus de leitura:Como obter registros do mês atual



Aqui está a consulta SQL para obter dados de vendas dos últimos 3 meses no MySQL, também conhecido como vendas contínuas de 3 meses. Usamos a função INTERVAL() para obter dados de vendas dos ú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 |
+------------+------+


Na consulta SQL acima, informamos ao MySQL para obter dados de vendas para todas as datas em que order_date está dentro do nosso INTERVAL especificado, ou seja, passados ​​3 meses a partir de AGORA.



Bônus de leitura:Como criar histograma no MySQL



Como meses diferentes têm números de dias diferentes, quando você menciona INTERVAL 3 months , o MySQL obterá dados após exatamente o mesmo dia do mês, antes de 3 meses. Ou seja, se hoje for 9 de junho, ele obterá dados de vendas de 9 de março.

Se você deseja obter dados de vendas dos últimos 90 dias, aqui está a consulta SQL para obter dados de vendas dos últimos 90 dias.
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 |
+------------+------+



Bônus de leitura:Como calcular a taxa de conversão no MySQL



Se você tiver várias linhas para cada order_date, precisará agregar as vendas diárias ao obter os dados de vendas dos últimos 3 meses. Por exemplo, se você tiver tabela de vendas, conforme mostrado abaixo
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  |
|                 ... |  ... |
+---------------------+------+

Então aqui está a consulta para obter os dados de vendas dos últimos 3 meses, depois de agregar as vendas diárias
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 |
+------------+------+

Você pode plotar esses dados de vendas em um gráfico de linhas usando uma ferramenta de gráficos como o Ubiq.





Você também pode agregar esses dados de vendas para cada mês usando a consulta a seguir. Usamos DATE_FORMAT para obter nomes de meses a partir de valores de data.


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

e plotá-lo em um gráfico de barras como mostrado abaixo, criado usando Ubiq.





É isso! Espero que você também possa obter dados de vendas dos últimos 3 meses no MySQL para sua empresa/site/aplicativo e compartilhá-los com sua equipe.

Se você deseja criar gráficos, painéis e relatórios do banco de dados MySQL, experimente o Ubiq. Oferecemos um teste gratuito de 14 dias.