본문 바로가기

반응형

SQL

(13)
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..
[Presto SQL] 가격 범위 별 Item 개수 확인 가격 범위별로 아이템 개수를 확인하는 상황이 있습니다. 범위를 5 단위로 설정하는 경우를 예로 들어 두 가지 방법을 설명하겠습니다. case when을 사용한 첫 번째 방법은 다음과 같습니다. SELECT CASE WHEN ItemPrice >= 0 AND ItemPrice = 5 AND ItemPrice = 10 AND ItemPrice = 15 AND ItemPrice = 20 AND ItemPrice = 2..
최소 구매 금액 미 충족 후, 구매 전환한 사용자 수 구하기 유저 로그 테이블에서 특정 행동 이후 구매 전환한 사용자 수를 구하는 방법을 살펴보겠습니다. 샘플 데이터 생성에 필요한 쿼리와 샘플 데이터는 아래와 같습니다. CREATE TABLE user_logs ( id SERIAL PRIMARY KEY, user_id INT NOT NULL, product_id INT NOT NULL, action VARCHAR(50) NOT NULL, order_amount NUMERIC(10, 2), created_at TIMESTAMP NOT NULL ); INSERT INTO user_logs (user_id, product_id, order_amount, action, created_at) VALUES (1, 100, 8000, 'failed_minimum_order',..

반응형