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

Как да получите записи от последните 30 дни

Понякога може да се наложи да получите редове от последните 30 дни или да получите данни за последния 1 месец в MySQL. Лесно е да получите записи от последните 30 дни в MySQL, въпреки че няма вградена функция за това. Ето SQL заявката за избор на записи за последните 30 дни.

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

Ето SQL за получаване на записи от последните 30 дни. Да приемем, че имате следната таблица sales(order_date, sale) която съдържа ежедневни данни за продажбите.

mysql> create table sales(order_date date,sale int);

mysql> insert into sales(order_date, sale)
     values('2020-05-04',230),
     ('2020-05-05',200),
     ('2020-05-06',210),
     ('2020-05-07',180),
     ('2020-05-08',220),
     ('2020-05-09',230),
     ('2020-05-10',220),
     ('2020-05-11',225),
     ('2020-05-12',200),
     ('2020-05-13',210),
     ('2020-05-14',190),
     ('2020-05-15',200),
     ('2020-05-16',220),
     ('2020-05-17',210),
     ('2020-05-18',190),
     ('2020-05-19',180),
     ('2020-05-20',250),
     ('2020-05-21',240),
     ('2020-05-22',245),
     ('2020-05-23',230),
     ('2020-05-24',220),
     ('2020-05-25',210),
     ('2020-05-26',130),
     ('2020-05-27',200),
     ('2020-05-28',210),
     ('2020-05-29',221),
     ('2020-05-30',235),
     ('2020-05-31',233),
     ('2020-06-01',237),
     ('2020-06-02',230),
     ('2020-06-03',220),
     ('2020-06-04',210),
     ('2020-06-05',200),
     ('2020-06-06',260),
     ('2020-06-07',270),
     ('2020-06-08',240),
     ('2020-06-09',290),
     ('2020-06-10',230);

mysql> select * from sales;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-05-04 |  230 |
| 2020-05-05 |  200 |
| 2020-05-06 |  210 |
| 2020-05-07 |  180 |
| 2020-05-08 |  220 |
|        ... |  ... |
|        ... |  ... |
| 2020-06-06 |  260 |
| 2020-06-07 |  270 |
| 2020-06-08 |  240 |
| 2020-06-09 |  290 |
| 2020-06-10 |  230 |
+------------+------+

Бонус за четене:Как да получите записи между 2 дати в MySQL

Как да получите записи от последните 30 дни

Ето SQL заявката за получаване на записи от последните 30 дни в MySQL.

mysql> select * from sales
     where order_date > now() - INTERVAL 30 day;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-05-12 |  200 |
| 2020-05-13 |  210 |
| 2020-05-14 |  190 |
|        ... |  ... | 
|        ... |  ... | 
| 2020-06-08 |  240 |
| 2020-06-09 |  290 |
| 2020-06-10 |  230 |
+------------+------+

В горната заявка избираме онези записи, където дата_на_поръчка пада след минал интервал от 30 дни. Използваме системна функция сега() за да получите най-новата стойност за дата и час и клауза INTERVAL за изчисляване на дата преди 30 дни.

Можете също да използвате текуща_дата вместо сега()

mysql> select * from sales
     where order_date > current_date - interval 30 day;

Бонус четене:Как да получите записи от последните 24 часа в MySQL

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

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

mysql> select * from sales
     where order_date > current_date - interval 1 month;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-05-11 |  225 |
| 2020-05-12 |  200 |
| 2020-05-13 |  210 |
|        ... |  ... |
|        ... |  ... |
| 2020-06-08 |  240 |
| 2020-06-09 |  290 |
| 2020-06-10 |  230 |
+------------+------+

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

В горната заявка избираме редове, където дата_на_поръчка пада след интервал от миналия 1 месец. Използваме аргумент „1 месец“ за клауза INTERVAL, вместо да използваме „30 дни“

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. Модел на база данни за онлайн проучване. Част 1

  2. Как да възстановите база данни с Backup Manager

  3. Разделяне на низове:Сега с по-малко T-SQL

  4. Как да получите годината от дата в T-SQL

  5. ИЗПОЛЗВАЙТЕ HINT и DISABLE_OPTIMIZED_NESTED_LOOP