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

Como obter dados do último mês no MySQL


Às vezes, você pode precisar buscar o registro do último mês ou obter linhas do mês anterior. Veja como obter os dados do último mês no MySQL.


Como obter os dados do último mês no MySQL


Aqui estão as etapas para obter os dados do último mês no MySQL.

Digamos que você tenha a seguinte tabela orders(id, order_date, amount) no MySQL que contém valores de pedidos diários.
mysql> create table orders(id int, order_date date, amount int);

mysql> insert into orders(id,order_date, amount)
     values(1,'2020-07-25',250),
     (2,'2020-07-26',350),
     (3,'2020-07-27',200),
     (4,'2020-07-28',150),
     (5,'2020-07-29',350),
     (6,'2020-07-30',300),
     (7,'2020-07-31',250),
     (8,'2020-08-01',550),
     (9,'2020-08-02',350),
     (10,'2020-08-03',250),
     (11,'2020-08-04',200);

mysql> select * from orders;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    1 | 2020-07-25 |    250 |
|    2 | 2020-07-26 |    350 |
|    3 | 2020-07-27 |    200 |
|    4 | 2020-07-28 |    150 |
|    5 | 2020-07-29 |    350 |
|    6 | 2020-07-30 |    300 |
|    7 | 2020-07-31 |    250 |
|    8 | 2020-08-01 |    550 |
|    9 | 2020-08-02 |    350 |
|   10 | 2020-08-03 |    250 |
|   11 | 2020-08-04 |    200 |
+------+------------+--------+



Bônus de leitura:Como copiar tabela no MySQL


Como obter o último registro de um mês no MySQL


Aqui está a consulta SQL para obter o último registro de um mês no MySQL
mysql> select * from orders
     where month(order_date)=month(now())-1;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    1 | 2020-07-25 |    250 |
|    2 | 2020-07-26 |    350 |
|    3 | 2020-07-27 |    200 |
|    4 | 2020-07-28 |    150 |
|    5 | 2020-07-29 |    350 |
|    6 | 2020-07-30 |    300 |
|    7 | 2020-07-31 |    250 |
+------+------------+--------+

Na consulta acima, selecionamos apenas os registros cujo mês é um a menos que o mês da data atual. Obtemos o número do mês de datas usando a função MONTH(). Obtemos a data atual usando a função NOW().

De acordo com nossos dados, como o mês atual é agosto, obtemos os registros do mês anterior, ou seja, julho.

Espero que agora você possa obter facilmente os dados do último mês no MySQL.



Leitura de bônus:Como adicionar restrição NOT NULL no MySQL





Da mesma forma, se você deseja obter registros do último mês consecutivo, ou seja, dos últimos 30 dias, aqui está a consulta SQL para isso.
select * from orders
where order_date>now() - interval 1 month;

Na consulta acima, selecionamos linhas após o último intervalo de 1 mês. Usamos a cláusula INTERVAL e a função NOW() para obter a data 1 mês no passado, a partir da data atual.



O Ubiq facilita a visualização de dados em minutos e o monitoramento em painéis em tempo real. Experimente hoje!