sql >> Databáze >  >> RDS >> Mysql

Jak získat data za poslední měsíc v MySQL

Někdy možná budete muset načíst záznam z minulého měsíce nebo získat řádky z předchozího měsíce. Zde je návod, jak získat data za poslední měsíc v MySQL.

Jak získat data za poslední měsíc v MySQL

Zde jsou kroky k získání dat za poslední měsíc v MySQL.

Řekněme, že máte následující tabulku objednávky(id, datum_objednávky, částka) v MySQL, která obsahuje denní částky objednávek.

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

Bonusové čtení:Jak kopírovat tabulku v MySQL

Jak získat záznam za poslední měsíc v MySQL

Zde je dotaz SQL pro získání záznamu za poslední měsíc v 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 |
+------+------------+--------+

Ve výše uvedeném dotazu vybíráme pouze ty záznamy, jejichž měsíc je o jeden menší než měsíc aktuálního data. Pomocí funkce MONTH() získáme měsíční počet dat. Aktuální datum získáme pomocí funkce NOW().

Podle našich údajů, protože aktuální měsíc je srpen, získáváme záznamy za předchozí měsíc, tedy červenec.

Doufejme, že nyní můžete snadno získat data za poslední měsíc v MySQL.

Bonusové čtení:Jak přidat omezení NOT NULL do MySQL

Podobně, pokud chcete získat záznamy za poslední měsíc klouzavě, to znamená za posledních 30 dní, zde je pro to SQL dotaz.

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

Ve výše uvedeném dotazu vybíráme řádky po intervalu uplynulého 1 měsíce. K získání data 1 měsíc v minulosti od současného data používáme klauzuli INTERVAL a funkci NOW().

Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Vyzkoušejte to ještě dnes!

  1. Víceřadá vložka s pg-promise

  2. Jak dám každému registrovanému uživateli jeho vlastní URL pomocí PHP?

  3. Failover &Failback na Amazon RDS

  4. Formát řetězce URL pro připojení k databázi Oracle pomocí JDBC