MySQL은 최근 30일 데이터 가져오기

Migel Hewage Nimesha 2023년6월20일
  1. 데이터를 데이터베이스로 가져오기
  2. 시스템 함수 now()를 사용하여 MySQL에서 지난 30일 동안의 데이터 가져오기
  3. current_date()를 사용하여 MySQL에서 지난 30일 동안의 데이터 가져오기
  4. 시스템 함수 date_sub()를 사용하여 MySQL에서 지난 30일 동안의 데이터 가져오기
  5. between 명령을 사용하여 MySQL에서 지난 30일 동안의 데이터 가져오기
  6. 결론
MySQL은 최근 30일 데이터 가져오기

이 문서에서는 SQL 쿼리를 사용하여 데이터베이스에서 지난 30일간의 데이터 레코드를 가져오는 방법을 설명합니다.

데이터를 데이터베이스로 가져오기

먼저 SQL 쿼리를 사용하여 일부 샘플 데이터를 데이터베이스로 가져옵니다. 데이터 세트를 가져오기 전에 데이터베이스 아래에 테이블을 만들어야 합니다.

SQL 쿼리:

create table sales(order_date date, sale int);

위의 구문은 order_datesale이라는 두 개의 열이 있는 sales 테이블을 생성합니다. order_datesale 유형은 각각 dateint입니다.

다음으로 수동 입력을 통해 일부 데이터를 테이블로 가져오겠습니다.

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);

출력:

MySQL 지난 30일 데이터 가져오기 - 데이터 가져오기

데이터를 가져온 후 이제 요구 사항에 따라 데이터를 추출할 수 있습니다.

이 문서에서는 지난 30일 동안 데이터베이스에서 데이터를 가져오는 세 가지 방법에 대해 자세히 설명합니다. MySQL에는 지난 30일 동안의 레코드를 가져오는 내장 기능이 없지만 아래 SQL 쿼리를 사용하면 가져올 수 있습니다.

시스템 함수 now()를 사용하여 MySQL에서 지난 30일 동안의 데이터 가져오기

sales 테이블에서 모든 레코드를 가져오려면 sales 테이블의 모든 레코드를 표시하는 데 도움이 되는 아래 쿼리를 사용할 수 있습니다.

SQL 쿼리:

select * from sales

위의 SQL 쿼리를 수정하여 지난 30일 동안의 기록을 얻을 수 있습니다.

SQL 쿼리:

select * from sales
where order_date > now() - interval 30 day;

위의 쿼리를 사용하여 order_date가 지난 30일 간격 이후에 속하는 레코드를 선택할 수 있습니다.

출력:

MySQL 지난 30일 데이터 가져오기 - 출력 1

시스템 함수 now()는 최신 DateTime 값을 가져오고 interval 절은 지난 30일 날짜를 계산합니다.

interval 절의 구문은 다음과 같습니다.

interval expr unit
  1. expr - 수량
  2. 단위 - 해석되는 양의 단위(예: HOUR, DAY 또는 WEEK)
  3. 간격 - 키워드 및 단위 지정자

이들은 대소문자를 구분하지 않으며 간격+ 또는 - 연산자와 결합하여 식에서 수행할 수 있습니다.

current_date()를 사용하여 MySQL에서 지난 30일 동안의 데이터 가져오기

now() 대신 current_date()를 사용할 수 있습니다. 아래는 우리가 그것을 사용하는 방법에 대한 SQL 쿼리입니다.

SQL 쿼리:

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

출력:

MySQL 지난 30일 데이터 가져오기 - 출력 2

이 쿼리에서 프로세스는 위의 SQL 쿼리와 동일하며 여기에서는 now()current_date()로 바꿉니다.

시스템 함수 date_sub()를 사용하여 MySQL에서 지난 30일 동안의 데이터 가져오기

아래 SQL 쿼리를 사용하면 30일의 레코드를 얻는 데도 도움이 됩니다.

SQL 쿼리:

select * from sales
where  `order_date` >= date_sub(curdate(), interval 30 day)

출력:

MySQL 지난 30일 데이터 가져오기 - 출력 3

위에 따르면 그들은 위에서 논의한 방법과 다른 두 가지 고유한 방법을 사용했습니다.

여기서는 curdate() 함수를 사용하여 현재 날짜를 찾고 date_sub()는 계산된 현재 DateTime에서 30일을 빼는 데 사용됩니다.

출력에 표시된 대로 SQL 쿼리는 데이터 세트에서 지난 30일 데이터를 추출하여 표시합니다.

between 명령을 사용하여 MySQL에서 지난 30일 동안의 데이터 가져오기

아래 쿼리는 위의 방법을 조합한 것입니다. 위의 방법과 달리 여기에서는 SQL 쿼리에서 BETWEEN 명령을 사용합니다.

SQL 쿼리:

select date_format(order_date,'%Y/%m/%d') from sales
where order_date between now() - interval 30 day and now()

출력:

MySQL 지난 30일 데이터 가져오기 - 출력 4

between 명령을 사용하면 향후 레코드 가져오기를 방지하고 지정된 기간 사이의 레코드를 정확하게 출력합니다.

여기에서 지난 30일부터 최근 날짜까지의 레코드를 추출합니다. 가장 빠른 쿼리에서 출력을 얻기 위해 쉽게 액세스할 수 있도록 날짜 형식을 정의합니다.

결론

전반적으로 지난 30일의 기록을 얻을 수 있으며 위의 방법을 사용하여 표시합니다. 위에서 설명한 방법을 조합하여 지난 30일 동안의 데이터 레코드를 가져오는 방법은 더 많을 수 있지만 이전 30일 동안의 데이터 레코드를 추출하는 가장 일반적인 방법은 다음과 같습니다.

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

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.

관련 문장 - MySQL Date