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

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

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

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

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

mysql> create table product_orders(id int, order_date date, amount int);

mysql> insert into product_orders values(1,'2020-07-20',100),
     (2,'2020-07-21',250),
     (3,'2020-07-22',225),
     (4,'2020-07-23',150),
     (5,'2020-07-24',200),
     (6,'2020-07-25',180),
     (7,'2020-07-26',150),
     (8,'2020-07-27',200),
     (9,'2020-07-28',250),
     (10,'2020-07-29',300),
     (11,'2020-07-30',150),
     (12,'2020-07-31',200),
     (13,'2020-08-01',180),
     (14,'2020-08-02',200);

mysql> select * from product_orders;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    1 | 2020-07-20 |    100 |
|    2 | 2020-07-21 |    250 |
|    3 | 2020-07-22 |    225 |
|    4 | 2020-07-23 |    150 |
|    5 | 2020-07-24 |    200 |
|    6 | 2020-07-25 |    180 |
|    7 | 2020-07-26 |    150 |
|    8 | 2020-07-27 |    200 |
|    9 | 2020-07-28 |    250 |
|   10 | 2020-07-29 |    300 |
|   11 | 2020-07-30 |    150 |
|   12 | 2020-07-31 |    200 |
|   13 | 2020-08-01 |    180 |
|   14 | 2020-08-02 |    200 |
+------+------------+--------+

Бонус четене:MySQL Copy Database

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

mysql> select * from product_orders where week(order_date)=week(now())-1;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    7 | 2020-07-26 |    150 |
|    8 | 2020-07-27 |    200 |
|    9 | 2020-07-28 |    250 |
|   10 | 2020-07-29 |    300 |
|   11 | 2020-07-30 |    150 |
|   12 | 2020-07-31 |    200 |
|   13 | 2020-08-01 |    180 |
+------+------------+--------+

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

Бонус четене:MySQL Вмъкване в Select

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

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

mysql> select * from product_orders where order_date> now() -  interval 7 day;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    9 | 2020-07-28 |    250 |
|   10 | 2020-07-29 |    300 |
|   11 | 2020-07-30 |    150 |
|   12 | 2020-07-31 |    200 |
|   13 | 2020-08-01 |    180 |
|   14 | 2020-08-02 |    200 |
+------+------------+--------+

В горната заявка избираме онези записи, чиито order_date е след минал интервал от 7 дни от днес.

Бонус за четене:MySQL Изберете най-големи N редове

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. Множество mysql INSERT изрази в една заявка php

  3. SQL разделен ред, разделен със запетая

  4. Как да вмъкна стойности в таблица с външен ключ с MySQL?

  5. Не може да върне резултати от съхранената процедура с помощта на курсора на Python