Понякога може да се наложи да извлечете редове от миналата седмица в 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 улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!