MySQL Obtener datos de los últimos 30 días
- Importar datos a la base de datos
-
Utilice la función del sistema
ahora()
para obtener los datos de los últimos 30 días en MySQL -
Use
current_date()
para obtener los datos de los últimos 30 días en MySQL -
Utilice la función del sistema
date_sub()
para obtener los datos de los últimos 30 días en MySQL -
Utilice el comando
entre
para obtener los datos de los últimos 30 días en MySQL - Conclusión
Este artículo enseña cómo obtener los registros de datos de los últimos 30 días de la base de datos mediante consultas SQL.
Importar datos a la base de datos
Primero, importe algunos datos de muestra a la base de datos mediante una consulta SQL. Antes de importar un conjunto de datos, debemos crear una tabla en una base de datos.
Consulta SQL:
create table sales(order_date date, sale int);
La sintaxis anterior crea una tabla de ventas
, con dos columnas como fecha_pedido
y venta
. Los tipos de fecha_pedido
y venta
son fecha
e int
, respectivamente.
A continuación, importemos algunos datos a la tabla a través de entradas manuales.
Consulta SQL:
insert into sales(order_date, sale)
values ('2022-09-04',230), ('2022-09-05',200), ('2022-09-06',210), ('2022-09-07',180), ('2022-09-08',220), ('2022-09-09',230), ('2022-09-10',220), ('2022-09-11',225), ('2022-09-12',200), ('2022-09-13',210), ('2022-09-14',190),('2022-09-15',200), ('2022-09-16',220), ('2022-09-17',210), ('2022-09-18',190), ('2022-09-19',180), ('2022-09-20',250), ('2022-09-21',240), ('2022-09-22',245), ('2022-09-23',230), ('2022-09-24',220), ('2022-09-25',210), ('2022-09-26',130), ('2022-09-27',200), ('2022-09-28',210), ('2022-09-29',221), ('2022-09-30',235), ('2022-10-01',237), ('2022-10-02',230), ('2022-10-03',220), ('2022-10-04',210), ('2022-10-05',200), ('2022-10-06',260), ('2022-10-07',270), ('2022-10-08',240), ('2022-10-07',290), ('2022-10-10',230);
Producción:
Después de importar datos, ahora podemos extraer los datos según nuestros requisitos.
Este artículo explicará tres métodos para obtener datos de la base de datos de los últimos 30 días. Aunque no hay funciones integradas para obtener registros de los últimos 30 días en MySQL, el uso de las siguientes consultas SQL permitirá obtenerlos.
Utilice la función del sistema ahora()
para obtener los datos de los últimos 30 días en MySQL
Si queremos obtener todos los registros de la tabla ventas
, podemos usar la consulta a continuación, que ayuda a mostrar todos los registros de la tabla ventas
.
Consulta SQL:
select * from sales
Podemos obtener los registros de los últimos 30 días modificando la consulta SQL anterior.
Consulta SQL:
select * from sales
where order_date > now() - interval 30 day;
Con la consulta anterior, podemos seleccionar registros en los que order_date
cae después de un intervalo de los últimos 30 días.
Producción:
La función del sistema ahora()
obtiene el último valor de fecha y hora, y la cláusula intervalo
calcula la fecha 30 días antes.
La sintaxis de la cláusula intervalo
es la siguiente.
interval expr unit
expr
- la cantidadunidad
: la unidad de la cantidad interpretada (p. ej., HORA, DÍA o SEMANA)intervalo
- palabra clave y el especificador de unidad
Estos no distinguen entre mayúsculas y minúsculas y pueden funcionar en expresiones combinando intervalo
con el operador +
o -
.
Use current_date()
para obtener los datos de los últimos 30 días en MySQL
En lugar de ahora()
, podemos usar fecha_actual()
. A continuación se muestra la consulta SQL sobre cómo vamos a usar eso.
Consulta SQL:
select * from sales
where order_date > current_date - interval 30 day;
Producción:
En esta consulta, el proceso es el mismo que el de la consulta SQL anterior, y aquí estamos reemplazando ahora()
por fecha_actual()
.
Utilice la función del sistema date_sub()
para obtener los datos de los últimos 30 días en MySQL
El uso de la siguiente consulta SQL también ayudará a obtener registros de 30 días.
Consulta SQL:
select * from sales
where `order_date` >= date_sub(curdate(), interval 30 day)
Producción:
De acuerdo con lo anterior, han utilizado dos métodos únicos que difieren del método discutido anteriormente.
Aquí han usado la función curdate()
para encontrar la fecha actual mientras que date_sub()
se usa para restar 30 días del DateTime actual calculado.
Como se muestra en el resultado, la consulta SQL extrae y muestra los datos de los últimos 30 días del conjunto de datos.
Utilice el comando entre
para obtener los datos de los últimos 30 días en MySQL
La siguiente consulta es una combinación de los métodos anteriores. A diferencia de los métodos anteriores, aquí estamos usando el comando ENTRE
en la consulta SQL.
Consulta SQL:
select date_format(order_date,'%Y/%m/%d') from sales
where order_date between now() - interval 30 day and now()
Producción:
El uso del comando entre
habilita la prevención de obtener registros futuros y genera exactamente los registros entre el período dado.
Aquí extrae los registros entre los últimos 30 días hasta el último día. En la primera consulta, defina el formato de fecha para acceder fácilmente a la salida.
Conclusión
En general, podemos obtener los registros de los últimos 30 días y mostrarlos utilizando los métodos anteriores. Puede haber más métodos para obtener los registros de datos de los últimos 30 días con la combinación de los métodos mencionados anteriormente, pero estos son los métodos más comunes para extraer los registros de datos de los 30 días anteriores.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.