É ú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.