반응형
지난 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');
다음 쿼리를 사용하여 지난 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으로 나누어 일별 평균 주문건수를 계산하여 출력합니다.
반응형
'Skills > SQL' 카테고리의 다른 글
일별 MTD ADO 계산: SQL 쿼리로 일별 MTD 평균 주문량 분석하기 (0) | 2024.08.21 |
---|---|
SQL CASE WHEN 효율적 사용법: 단일 vs 중첩 CASE WHEN 구문 (0) | 2023.06.05 |
[SQL] 다른 테이블의 데이터를 추가하는 방법 (0) | 2023.03.31 |
SQL WHERE IN을 활용한 다중 컬럼 필터링 (0) | 2023.03.29 |
이번 달과 지난 달에 속한 쿠폰 슬롯 수 분석하기 (0) | 2023.03.28 |