Ajuda a obter registros do mês atual no MySQL para geração de relatórios e análise de dados. Você pode usá-lo para obter dados de vendas do mês atual, número de inscrições no mês atual e outras informações úteis. Veja como obter linhas do mês atual no MySQL.
Como obter registros do mês atual no MySQL
Aqui estão as etapas para obter os registros do mês atual no MySQL. Também o usaremos para obter novos clientes no mês.
Digamos que você tenha a seguinte tabela vendas(data_pedido, venda, pedidos) que contém o número diário de pedidos e o valor da venda.
mysql> select * from sales; +------------+------+--------+ | order_date | sale | orders | +------------+------+--------+ | 2020-04-28 | 300 | 10 | | 2020-04-29 | 250 | 15 | | 2020-04-30 | 250 | 12 | | 2020-05-01 | 250 | 14 | | 2020-05-02 | 150 | 20 | | 2020-05-03 | 300 | 21 | | 2020-05-04 | 200 | 15 | | 2020-05-05 | 200 | 17 | | 2020-05-06 | 250 | 12 | | 2020-05-07 | 150 | 15 | | 2020-05-08 | 300 | 12 | | 2020-05-09 | 200 | 18 | +------------+------+--------+
Bônus de leitura:Como importar CSV para o MySQL Workbench
Como obter dados de vendas do mês atual no MySQL
Aqui está a consulta SQL para obter registros do mês atual no MySQL
mysql> select * from sales where MONTH(order_date)=MONTH(now()) and YEAR(order_date)=YEAR(now()); +------------+------+--------+ | order_date | sale | orders | +------------+------+--------+ | 2020-05-01 | 250 | 14 | | 2020-05-02 | 150 | 20 | | 2020-05-03 | 300 | 21 | | 2020-05-04 | 200 | 15 | | 2020-05-05 | 200 | 17 | | 2020-05-06 | 250 | 12 | | 2020-05-07 | 150 | 15 | | 2020-05-08 | 300 | 12 | | 2020-05-09 | 200 | 18 | +------------+------+--------+
Na consulta acima, usamos a função do sistema now() para obter a data e hora atual. Em seguida, obtemos as linhas do mês atual no MySQL filtrando as linhas que têm o mesmo mês e ano que a data e hora atual. MONTH() e YEAR() são funções incorporadas do MySQL para obter o número do mês e o número do ano de uma determinada data.
Bônus de leitura:Como criar histograma no MySQL
Se sua coluna de data, ou seja, order_date está indexado, então é aconselhável não usar nenhuma função nele. Caso contrário, levará muito tempo para ser executado. Em vez disso, você pode usar a seguinte consulta SQL para obter registros do mês atual no MySQL.
mysql> SELECT * FROM sales WHERE order_date >= (LAST_DAY(NOW()) + INTERVAL 1 DAY - INTERVAL 1 MONTH) AND order_date < (LAST_DAY(NOW()) + INTERVAL 1 DAY); +------------+------+--------+ | order_date | sale | orders | +------------+------+--------+ | 2020-05-01 | 250 | 14 | | 2020-05-02 | 150 | 20 | | 2020-05-03 | 300 | 21 | | 2020-05-04 | 200 | 15 | | 2020-05-05 | 200 | 17 | | 2020-05-06 | 250 | 12 | | 2020-05-07 | 150 | 15 | | 2020-05-08 | 300 | 12 | | 2020-05-09 | 200 | 18 | +------------+------+--------+
Depois de obter registros do mês atual no MySQL, você pode usar uma ferramenta de gráficos para plotá-lo em um gráfico de boa aparência, conforme mostrado abaixo, e compartilhá-lo com sua equipe. Aqui está um gráfico de linhas criado usando o software de painel Ubiq
Bônus de leitura:Como calcular a taxa de conversão no MySQL
Como obter inscrições e novos usuários no mês atual no MySQL
Da mesma forma, você também pode obter novas inscrições e usuários no mês atual no MySQL. Digamos que você tenha a seguinte tabela Usuários(user_id, date_joined) que contém dados de inscrição.
mysql> select * from users; +-------------+---------+ | date_joined | user_id | +-------------+---------+ | 2020-04-28 | 213 | | 2020-04-28 | 214 | | 2020-04-30 | 215 | | 2020-04-28 | 216 | | 2020-04-28 | 217 | | 2020-04-30 | 218 | | 2020-04-28 | 219 | | 2020-04-28 | 220 | | 2020-04-30 | 221 | | 2020-05-01 | 222 | | 2020-05-01 | 222 | | 2020-05-01 | 223 | | 2020-05-04 | 224 | | 2020-05-04 | 225 | | 2020-05-04 | 226 | | 2020-05-04 | 226 | | 2020-05-04 | 227 | | 2020-05-04 | 228 | | 2020-05-05 | 229 | | 2020-05-05 | 230 | | 2020-05-05 | 231 | | 2020-05-05 | 232 | | 2020-05-06 | 233 | | 2020-05-06 | 234 | +-------------+---------+
Aqui está a consulta SQL para obter novas inscrições e usuários diários no mês atual no MySQL.
mysql> select date(date_joined),count(*) from users where MONTH(date_joined)=MONTH(now()) and YEAR(date_joined)=YEAR(now()) group by date(date_joined); +-------------------+----------+ | date(date_joined) | count(*) | +-------------------+----------+ | 2020-05-01 | 3 | | 2020-05-04 | 6 | | 2020-05-05 | 4 | | 2020-05-06 | 2 | +-------------------+----------+
Você também pode usar essa consulta SQL para obter a contagem de usuários em um mês ou contar novos usuários no mês passado. Basta remover date(date_joined) da cláusula select e remova o grupo por cláusula para obter a contagem total.
mysql> select count(*) from users where MONTH(date_joined)=MONTH(now()) and YEAR(date_joined)=YEAR(now());
Bônus de leitura:Como preencher datas ausentes no MySQL
Depois de obter registros do mês atual no MySQL, você pode usar uma ferramenta de relatório para plotar esses dados em um gráfico de barras ou painel e compartilhá-los com sua equipe. Aqui está um exemplo de um gráfico de barras que mostra as inscrições diárias no mês atual, criadas usando o Ubiq.
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.