Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да получите данни за последния месец в MySQL

Понякога може да се наложи да извлечете запис от последния месец или да получите редове от предходния месец. Ето как да получите данни за последния месец в MySQL.

Как да получите данни за последния месец в MySQL

Ето стъпките за получаване на данни за последния месец в MySQL.

Да приемем, че имате следната таблица поръчки(id, order_date, amount) в MySQL, който съдържа дневни суми за поръчки.

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

Бонус четене:Как да копирам таблица в MySQL

Как да получите запис за последния месец в MySQL

Ето SQL заявката за получаване на запис от последния месец в 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 |
+------+------------+--------+

В горната заявка избираме само онези записи, чийто месец е с един по-малък от месеца на текущата дата. Получаваме броя на датите за месец с помощта на функцията MONTH(). Получаваме текущата дата с помощта на функцията NOW().

Според нашите данни, тъй като текущият месец е август, получаваме записите за предходния месец, тоест юли.

Надяваме се, че сега можете лесно да получите данни за последния месец в MySQL.

Бонус за четене:Как да добавите ограничение NOT NULL в MySQL

По същия начин, ако искате да получите записи за миналия месец, тоест последните 30 дни, ето SQL заявката за това.

select * from orders
where order_date>now() - interval 1 month;

В горната заявка избираме редове след интервал от миналия 1 месец. Използваме клауза INTERVAL и функция NOW(), за да получим датата 1 месец в миналото, от настоящата дата.

Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql вмъква произволна дата и час в даден диапазон от време

  2. Връщане на ResultSet

  3. CURRENT_TIMESTAMP Примери – MySQL

  4. MySQL компенсира безкрайни редове

  5. JSON_EXTRACT() – Връща данни от JSON документ в MySQL