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

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

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

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

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

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

mysql> insert into sales(order_date, sale)
     values('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),
     ('2020-06-11',210);

mysql> select * from sales;
+------------+------+
| order_date | sale |
+------------+------+
| 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 |
| 2020-06-11 |  210 |
+------------+------+

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

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

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

mysql> select * from sales
     where order_date > now() - INTERVAL 7 day;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-06-05 |  200 |
| 2020-06-06 |  260 |
| 2020-06-07 |  270 |
| 2020-06-08 |  240 |
| 2020-06-09 |  290 |
| 2020-06-10 |  230 |
| 2020-06-11 |  210 |
+------------+------+

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

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

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

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

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

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

mysql> select * from sales
       where order_date > now() - interval 1 week;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-06-05 |  200 |
| 2020-06-06 |  260 |
| 2020-06-07 |  270 |
| 2020-06-08 |  240 |
| 2020-06-09 |  290 |
| 2020-06-10 |  230 |
| 2020-06-11 |  210 |
+------------+------+

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

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

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. JSON_INSERT() – Вмъкване на стойности в JSON документ в MySQL

  2. MySQL:Код на грешка:1118 Размерът на ред е твърде голям (> 8126). Промяна на някои колони на TEXT или BLOB

  3. MySQL – Как да махна таблица, ако съществува в базата данни?

  4. MySQL (или PHP?) групира резултати по данни от полето

  5. Как да намерите нечислови стойности в колона в MySQL