본문 바로가기

반응형

Skills/SQL

(16)
일별 MTD ADO 계산: SQL 쿼리로 일별 MTD 평균 주문량 분석하기 데이터 분석가들은 종종 특정 시점에서 MTD(월간 누적) 평균 주문 건수, M-1 평균 주문 건수, M-3 평균 주문 건수 등을 계산해야 합니다. 이번 포스팅에서는 특정 시점이 아닌 일별로 MTD 평균 주문 건수를 계산하는 방법을 공유하려 합니다. 일별 MAU 계산도 동일한 로직으로 SQL 사용하여 계산 가능 하니 참조해 주세요.우선 MTD ADO에 대해 설명하겠습니다. MTD ADO는 Month-To-Date Average Daily Orders의 약자로, 현재 달의 시작일부터 오늘까지의 누적 주문 수를 해당 기간의 일수로 나눈 값을 의미합니다. 이는 특정 달의 일별 주문량 평균을 파악하는 데 유용합니다. 예를 들어, 특정 달의 15일까지의 주문량을 15일로 나누면, 그 달의 일별 평균 주문량을 구할 ..
SQL CASE WHEN 효율적 사용법: 단일 vs 중첩 CASE WHEN 구문 단일 vs 중첩 CASE WHEN 구문을 비교해 보면서 각각의 장단점에 대해 설명해 드리겠습니다. 우선 테스트용 데이터를 생성하기 위해 아래와 같은 테이블을 생성하고 데이터를 삽입해 보겠습니다. CREATE TABLE sales ( id INT PRIMARY KEY, country VARCHAR(50), tiering VARCHAR(50) ); INSERT INTO sales (id, country, tiering) VALUES (1, 'KR', 'Tier 1'), (2, 'KR', 'Tier 2'), (3, 'KR', 'Tier 3'), (4, 'US', 'Tier 1'), (5, 'US', 'Tier 2'), (6, 'US', 'Tier 3'), (7, 'JP', 'Tier 1'), (8, 'JP',..
[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,..
[SQL] 다른 테이블의 데이터를 추가하는 방법 다른 테이블의 데이터를 추가하는 방법에 대해 설명하겠습니다. 먼저, CREATE TABLE 문과 INSERT INTO을 사용하여 새로운 테이블과 데이터를 삽입하겠습니다. -- 새로운 테이블 생성 CREATE TABLE table_a ( id INT PRIMARY KEY, column1 VARCHAR(50), column2 VARCHAR(50), column3 INT, column4 FLOAT ); -- 데이터 삽입 INSERT INTO table_a (id, column1, column2, column3, column4) VALUES (1, 'value1', 'value2', 10, 1.5), (2, 'value3', 'value4', 20, 2.5), (3, 'value5', 'value6', 30, ..
SQL WHERE IN을 활용한 다중 컬럼 필터링 SQL의 WHERE IN 구문을 사용하여 다중 컬럼 필터링 방법을 소개하겠습니다. 다음과 같이 movie_review 테이블을 생성하고 샘플 데이터를 삽입합니다. CREATE TABLE movie_review ( movie_name VARCHAR(50), rating VARCHAR(10), reviewer_id INT ); INSERT INTO movie_review (movie_name, rating, reviewer_id) VALUES ('어벤져스', '긍정', 1), ('어벤져스', '긍정', 2), ('인셉션', '부정', 1), ('인셉션', '긍정', 3), ('라라랜드', '부정', 4), ('라라랜드', '긍정', 5), ('보헤미안 랩소디', '긍정', 6), ('보헤미안 랩소디', '부..
이번 달과 지난 달에 속한 쿠폰 슬롯 수 분석하기 이번 달과 지난달에 속한 쿠폰 슬롯 개수를 구하는 SQL 쿼리에 대해 알아보겠습니다. 먼저 쿠폰 테이블 샘플 데이터셋을 만들어 보겠습니다. CREATE TABLE coupon_table ( coupon_id INT, start_date DATE, end_date DATE ); INSERT INTO coupon_table (coupon_id, start_date, end_date) VALUES (1, '2023-01-01', '2023-01-31'), (2, '2023-01-15', '2023-02-14'), (3, '2023-02-01', '2023-02-28'), (4, '2023-02-15', '2023-03-16'), (5, '2023-03-01', '2023-03-31'), (6, '2023-01..
SQL 활용 쿠폰 프로모션 효과 분석: 전체 주문 대비 쿠폰 사용률 살펴보기 SQL을 사용해서 프로모션 전후 주문 건수 비교를 통한 쿠폰 효과 분석을 살펴보겠습니다. 우선 다음과 같이 샘플 데이터를 생성하겠습니다. 실무에서는 아래 테이블 보다 복잡한 구조를 갖고 있는 점 참조 부탁 드리겠습니다. CREATE TABLE sample_voucher ( promotion_id INT ); -- sample_voucher 테이블에 데이터 추가 INSERT INTO sample_voucher (promotion_id) VALUES (1), (2), (3), (4), (5); CREATE TABLE sample_order ( order_id INT, voucher_promotion_id INT ); -- sample_order 테이블에 데이터 추가 INSERT INTO sample_orde..
PostgreSQL에서 JSON 데이터 추출하기 PostgreSQL에서 JSON 데이터를 다루는 방법에 대해 알아보겠습니다. JSON 데이터는 웹 개발, 모바일 애플리케이션, API 등 다양한 분야에서 사용되고 있으며, 데이터 저장 및 전송에 효율적인 형태로 널리 알려져 있습니다. 아래 쿼리를 사용하여 직원과 부서 정보가 저장된 예시 테이블을 생성하겠습니다. CREATE TABLE employee_department ( emp_id SERIAL PRIMARY KEY, dept_id INT, office_location JSON ); INSERT INTO employee_department (emp_id, dept_id, office_location) VALUES (1, 10, '{"locations": [{"country": "KR", "city": ..

반응형