특정 연도 및 월의 데이터를 SQL로 추출하는 방법

SQL을 사용하여 특정 연도와 월을 기준으로 데이터를 추출하는 방법을 배워보세요. 이 방법은 특정 월이나 연도의 데이터를 분석하는 데 유용합니다. SQL의 DATE 함수 및 기타 유용한 함수를 활용하여 데이터를 효율적으로 검색하는 방법을 설명하겠습니다.

목차

데이터베이스 설정

먼저 데이터베이스와 테이블을 설정해보겠습니다. 아래는 샘플 데이터를 포함한 테이블을 생성하는 SQL 스크립트입니다.

데이터베이스 생성

데이터베이스를 생성합니다. 이미 데이터베이스가 있는 경우 이 단계를 건너뛸 수 있습니다.

CREATE DATABASE sample_db;
USE sample_db;

테이블 생성

다음으로 데이터를 저장할 테이블을 생성합니다. 여기서는 sales 테이블을 예로 들어 설명합니다.

CREATE TABLE sales (
    id INT AUTO_INCREMENT PRIMARY KEY,
    product_name VARCHAR(100),
    amount DECIMAL(10, 2),
    sale_date DATE
);

샘플 데이터 삽입

마지막으로, 테이블에 샘플 데이터를 삽입합니다. 이는 나중에 쿼리 예제를 준비하기 위한 것입니다.

INSERT INTO sales (product_name, amount, sale_date) VALUES('Product A', 100.00, '2023-01-15'),('Product B', 150.00, '2023-02-20'),('Product C', 200.00, '2023-03-25'),('Product A', 250.00, '2023-01-30'),('Product B', 300.00, '2023-02-15');

기본 SQL 쿼리 작성

특정 연도와 월의 데이터를 추출하려면 기본 SQL 쿼리 구조를 이해하는 것이 첫 번째 단계입니다. 여기서는 기본 SELECT 문을 작성하는 방법을 설명합니다.

SELECT 문 기본

SELECT 문은 데이터베이스에서 데이터를 검색하는 데 사용되는 SQL 명령어입니다. 아래는 sales 테이블의 모든 데이터를 가져오는 기본 쿼리 예제입니다.

SELECT * FROM sales;

특정 열 선택

테이블의 모든 열 대신 특정 열만 선택할 수도 있습니다. 예를 들어 product_nameamount 열만 선택하는 쿼리는 다음과 같습니다:

SELECT product_name, amount FROM sales;

WHERE 절을 사용하여 조건 지정

WHERE 절을 사용하면 특정 조건을 충족하는 데이터만 추출할 수 있습니다. 예를 들어 amount가 200 이상인 데이터를 가져오는 쿼리는 다음과 같습니다:

SELECT * FROM sales WHERE amount >= 200;

이 기본을 이해하면 특정 연도와 월의 데이터를 추출하는 쿼리를 더 쉽게 이해할 수 있습니다.

특정 연도와 월을 지정하기 위한 DATE 함수 사용

특정 연도와 월의 데이터를 추출하려면 SQL의 DATE 함수를 사용합니다. 여기서는 DATE 함수의 기본 사용법을 설명합니다.

DATE_FORMAT 함수 사용

DATE_FORMAT 함수는 날짜 형식을 변경할 수 있게 해줍니다. 이 함수는 특정 연도 또는 월을 추출하는 데 사용됩니다.

SELECT * FROM sales 
WHERE DATE_FORMAT(sale_date, '%Y-%m') = '2023-01';

이 쿼리는 sale_date가 2023년 1월인 모든 레코드를 검색합니다.

YEAR 및 MONTH 함수 사용

YEAR 및 MONTH 함수는 날짜의 연도 또는 월 부분을 추출할 수 있게 해줍니다.

SELECT * FROM sales 
WHERE YEAR(sale_date) = 2023 AND MONTH(sale_date) = 1;

이 쿼리도 2023년 1월의 레코드를 검색합니다.

BETWEEN 절 사용

BETWEEN 절을 사용하여 특정 연도와 월의 범위를 지정할 수도 있습니다.

SELECT * FROM sales 
WHERE sale_date BETWEEN '2023-01-01' AND '2023-01-31';

이 쿼리는 2023년 1월 1일부터 2023년 1월 31일까지의 기간 동안 데이터를 추출합니다.

이 방법들을 사용하면 특정 연도와 월을 기준으로 데이터를 효과적으로 추출할 수 있습니다.

실제 쿼리 예제

여기서는 특정 연도와 월의 데이터를 추출하는 SQL 쿼리의 구체적인 예를 제공하겠습니다.

예제 1: 특정 연도 및 월의 데이터 추출

예를 들어 2023년 1월의 판매 데이터를 얻으려면 다음 쿼리를 사용하세요:

SELECT * FROM sales 
WHERE DATE_FORMAT(sale_date, '%Y-%m') = '2023-01';

이 쿼리는 sale_date가 2023년 1월인 모든 레코드를 반환합니다.

예제 2: 연도와 월을 별도로 지정하여 데이터 추출

마찬가지로 YEAR 및 MONTH 함수를 사용하여 2023년 1월의 데이터를 추출할 수 있습니다.

SELECT * FROM sales 
WHERE YEAR(sale_date) = 2023 AND MONTH(sale_date) = 1;

이 쿼리도 2023년 1월의 모든 레코드를 반환합니다.

예제 3: 날짜 범위를 지정하여 데이터 추출

2023년 1월 1일부터 2023년 1월 31일까지의 기간 동안 데이터를 얻으려면 BETWEEN 절을 사용하세요.

SELECT * FROM sales 
WHERE sale_date BETWEEN '2023-01-01' AND '2023-01-31';

이 쿼리는 지정된 기간 동안의 모든 레코드를 검색합니다.

예제 4: 월별로 데이터를 집계하여 추출

특정 월별로 데이터를 집계하려면 다음 쿼리를 사용하세요:

SELECT DATE_FORMAT(sale_date, '%Y-%m') AS month, SUM(amount) AS total_sales
FROM sales
GROUP BY month
ORDER BY month;

이 쿼리는 각 월의 총 판매액을 계산하여 연도 및 월별로 집계된 데이터를 반환합니다.

이러한 쿼리를 사용하면 특정 연도와 월에 관련된 데이터를 효과적으로 추출할 수 있습니다. 필요에 따라 적절한 쿼리를 선택하여 사용하세요.

고급 예제: 연도 및 월 범위의 데이터 추출

여기서는 연도 및 월 범위의 데이터를 추출하는 몇 가지 고급 예제를 제공하겠습니다. 이를 통해 여러 월 또는 연도에 걸친 데이터 분석이 가능합니다.

예제 1: 여러 월의 데이터 추출

예를 들어, 2023년 1월부터 2023년 3월까지의 데이터를 추출하려면 다음 쿼리를 사용하세요:

SELECT * FROM sales 
WHERE sale_date BETWEEN '2023-01-01' AND '2023-03-31';

이 쿼리는 2023년 1월 1일부터 2023년 3월 31일까지의 기간 동안의 모든 레코드를 검색합니다.

예제 2: 여러 연도에 걸쳐 특정 월의 데이터 추출

예를 들어, 매년 1월의 데이터를 추출하려면 다음 쿼리를 사용하세요:

SELECT * FROM sales 
WHERE MONTH(sale_date) = 1;

이 쿼리는 매년 1월에 해당하는 모든 레코드를 검색합니다.

예제 3: 동적 범위를 사용하여 데이터 추출

현재 날짜를 기준으로 지난 6개월 동안의 데이터를 동적 범위를 사용하여 추출하려면 다음 쿼리를 사용하세요:

SELECT * FROM sales 
WHERE sale_date >= DATE_SUB(CURDATE(), INTERVAL 6 MONTH);

이 쿼리는 현재 날짜를 기준으로 지난 6개월 동안의 모든 레코드를 검색합니다.

예제 4: 특정 연도의 특정 월에 대한 데이터 추출 및 집계

예를 들어, 매년 1월의 총 판매액을 추출 및 집계하려면 다음 쿼리를 사용하세요:

SELECT YEAR(sale_date) AS year, SUM(amount) AS total_sales
FROM sales
WHERE MONTH(sale_date) = 1
GROUP BY year
ORDER BY year;

이 쿼리는 매년 1월의 총 판매액을 계산하여 연도별로 집계된 데이터를 반환합니다.

이 고급 예제를 사용하면 특정 기간 동안의 데이터를 효율적으로 분석할 수 있습니다. 필요에 따라 적절한 쿼리를 선택하고 이를 데이터 분석에 활용하세요.

결론

SQL을 사용하여 특정 연도 및 월의 데이터를 추출하는 방법에 대해 설명했습니다. DATE 함수와 WHERE 절을 활용하면 특정 연도, 월 및 범위의 데이터를 효과적으로 추출할 수 있습니다. 또한 여러 월 또는 연도에 걸친 데이터 분석을 위한 고급 예제를 소개했습니다. 이러한 기술을 사용하여 필요한 데이터를 정확하게 얻고 데이터 분석 및 보고서 작성에 도움을 주시기 바랍니다.

목차