sql >> Base de Datos >  >> RDS >> Mysql

Cómo obtener datos de la semana actual en MySQL

A veces, es posible que necesite obtener los registros de la semana actual o buscar los registros de esta semana para generar informes y análisis. En este artículo, veremos cómo obtener datos de la semana actual en MySQL.


Cómo obtener datos de la semana actual en MySQL

Digamos que tiene la siguiente tabla ventas(id, order_date, cantidad )

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

mysql> insert into sales(id, order_date, amount)
      values(1, '2021-01-24',250),
      (2, '2021-01-25',250),
      (3, '2021-01-26',250),
      (4, '2021-01-27',250),
      (5, '2021-01-28',250),
      (6, '2021-01-29',250),
      (7, '2021-01-30',250),
      (8, '2021-01-31',250),
      (9, '2021-02-01',250);
 
 mysql> select * from sales;
 +------+------------+--------+
 | id   | order_date | amount |
 +------+------------+--------+
 |    1 | 2021-01-24 |    250 |
 |    2 | 2021-01-25 |    250 |
 |    3 | 2021-01-26 |    250 |
 |    4 | 2021-01-27 |    250 |
 |    5 | 2021-01-28 |    250 |
 |    6 | 2021-01-29 |    250 |
 |    7 | 2021-01-30 |    250 |
 |    8 | 2021-01-31 |    250 |
 |    9 | 2021-02-01 |    250 |
 +------+------------+--------+


Cómo obtener registros de la semana actual en MySQL

Es muy fácil obtener datos de la semana actual en MySQL. Aquí está la consulta SQL para obtener registros de la semana actual en MySQL.

mysql> select * 
      from sales 
      where week(order_date)=week(now());
 +------+------------+--------+
 | id   | order_date | amount |
 +------+------------+--------+
 |    8 | 2021-01-31 |    250 |
 |    9 | 2021-02-01 |    250 |
 +------+------------+--------+

En la consulta anterior, usamos now() función para obtener la fecha actual y week() función para obtener el número de semana de valores de fecha. Así que seleccionamos filas cuyo número de semana de order_date es el mismo que el número de semana del día de hoy.


Cómo obtener datos de los últimos 7 días en MySQL

A veces, es posible que también necesite obtener datos de los últimos 7 días en MySQL. Aquí está la consulta SQL para obtener los datos de los últimos 7 días.

mysql> select * 
       from sales 
       where order_date> now() - interval 1 week;
 +------+------------+--------+
 | id   | order_date | amount |
 +------+------------+--------+
 |    3 | 2021-01-26 |    250 |
 |    4 | 2021-01-27 |    250 |
 |    5 | 2021-01-28 |    250 |
 |    6 | 2021-01-29 |    250 |
 |    7 | 2021-01-30 |    250 |
 |    8 | 2021-01-31 |    250 |
 |    9 | 2021-02-01 |    250 |
 +------+------------+--------+

En la consulta SQL anterior, seleccionamos filas cuya order_date cae después de los últimos 7 días. Usamos la palabra clave INTERVALO para restar 1 semana de la fecha actual.

¿Necesita una herramienta de informes para MySQL? Ubiq facilita la visualización de datos en minutos y la supervisión en paneles en tiempo real. ¡Pruébalo hoy!