본문 바로가기

Skills/SQL

[SQL]지난 30일간 일별 평균 주문건수 확인하기

반응형

지난 30일 동안의 일별 주문건수를 확인하는 방법에 대해 알아보겠습니다.

 

샘플 데이터를 생성하고, order_table에 10개의 샘플 데이터를 입력해 보겠습니다.

-- 테이블 생성
CREATE TABLE order_table (
    order_id INT,
    order_create_date DATE
);
-- 샘플 데이터 삽입
INSERT INTO order_table (order_id, order_create_date)
VALUES (1, '2023-03-06'),
       (2, '2023-03-08'),
       (3, '2023-03-10'),
       (4, '2023-03-15'),
       (5, '2023-03-16'),
       (6, '2023-03-20'),
       (7, '2023-03-22'),
       (8, '2023-04-02'),
       (9, '2023-04-04'),
       (10, '2023-04-04');

order_table

다음 쿼리를 사용하여 지난 30일 동안의 일별 평균 주문 건을 확인합니다.

(current_date: 2023-04-05 기준)

SELECT
    CAST(COUNT(DISTINCT order_id) AS DOUBLE PRECISION) / 30 AS l30_days_ado
FROM
    order_table
WHERE
    order_create_date BETWEEN CURRENT_DATE - INTERVAL '30 days' AND CURRENT_DATE - INTERVAL '1 day';

 

결과값

하루 평균 0.3개의 주문 건이 발생하는 걸 확인합니다.

 

CAST(COUNT(DISTINCT order_id) AS DOUBLE PRECISION) / 30 AS l30_days_ado

이 부분은 해당 기간 전체 주문건수를 구한 후, DOUBLE PRECISION 형태로 변환하고, 30으로 나누어 지난 30일 동안의 일별 평균 주문건수를 구합니다. 

 

WHERE order_create_date BETWEEN CURRENT_DATE - INTERVAL '30 days' AND CURRENT_DATE - INTERVAL '1 day'

이 부분은 조회할 데이터의 조건을 지정합니다. order_create_date 열이 오늘 날짜로부터 30일 전과 1일 전 사이에 있는 데이터만 조회합니다.

 

이 쿼리를 실행하면, 오늘로부터 30일 전부터 어제까지의 기간 동안 발생한 고유한 주문건수를 30으로 나누어 일별 평균 주문건수를 계산하여 출력합니다. 

반응형