Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak uzyskać dane z ostatniego miesiąca w MySQL?

Czasami może być konieczne pobranie rekordu z ostatniego miesiąca lub wierszy z poprzedniego miesiąca. Oto jak uzyskać dane z ostatniego miesiąca w MySQL.

Jak uzyskać dane z ostatniego miesiąca w MySQL

Oto kroki, aby uzyskać dane z ostatniego miesiąca w MySQL.

Załóżmy, że masz następującą tabelę zamówienia(id, data_zamówienia, kwota) w MySQL, który zawiera dzienne kwoty zamówień.

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

Przeczytaj bonus:Jak skopiować tabelę do MySQL

Jak uzyskać rekord z ostatniego miesiąca w MySQL

Oto zapytanie SQL, aby uzyskać rekord z ostatniego miesiąca w 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 |
+------+------------+--------+

W powyższym zapytaniu wybieramy tylko te rekordy, których miesiąc jest o jeden mniejszy od miesiąca aktualnej daty. Miesięczną liczbę dat uzyskujemy za pomocą funkcji MONTH(). Bieżącą datę uzyskujemy za pomocą funkcji NOW().

Zgodnie z naszymi danymi, ponieważ bieżącym miesiącem jest sierpień, otrzymujemy rekordy z poprzedniego miesiąca, czyli lipca.

Mamy nadzieję, że teraz możesz łatwo uzyskać dane z ostatniego miesiąca w MySQL.

Przeczytaj bonus:Jak dodać ograniczenie NOT NULL w MySQL

Podobnie, jeśli chcesz uzyskać rekordy z ostatniego miesiąca, czyli z ostatnich 30 dni, oto zapytanie SQL.

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

W powyższym zapytaniu wybieramy wiersze po upływie ostatniego miesiąca. Używamy klauzuli INTERVAL i funkcji NOW(), aby uzyskać datę 1 miesiąc w przeszłości, od daty bieżącej.

Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uruchomić klaster MySQL lub MariaDB Galera — zaktualizowano

  2. Zapytanie SQL do usunięcia bazy danych w MySQL

  3. Wiele tabel LINQ to SQL pozostawiło sprzężenie zewnętrzne

  4. Poruszanie się po MySQL Błąd nie można ponownie otworzyć tabeli

  5. MySQL:Widok z podzapytanie w Ograniczeniu klauzuli FROM