본문 바로가기

반응형

분류 전체보기

(49)
최소 구매 금액 미 충족 후, 구매 전환한 사용자 수 구하기 유저 로그 테이블에서 특정 행동 이후 구매 전환한 사용자 수를 구하는 방법을 살펴보겠습니다. 샘플 데이터 생성에 필요한 쿼리와 샘플 데이터는 아래와 같습니다. 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',..
구글 스프레드시트 여러 시트 결합 다른 시트들의 데이터를 합치는 방법을 살펴보겠습니다. 샘플 데이터는 다음과 같습니다. 위 2개 테이블을 결합하려면 {A2:C4; E2:G4}를 사용하여 두 개의 테이블을 연결합니다. {} - 중괄호는 배열 구문으로, 여러 범위를 배열로 결합하는 데 사용됩니다. A2:C4 - 첫 번째 테이블의 범위를 나타냅니다. 이 경우 A2부터 C4까지의 범위를 선택합니다. ; - 세미콜론은 배열 구문에서 사용되며, 세로로 결합할 때 사용됩니다. E2:G4 - 두 번째 테이블의 범위를 나타냅니다. 이 경우 E2부터 G4까지의 범위를 선택합니다. 만약 각 테이블의 행 개수가 다양하고 전체 행을 포함하려면 아래와 같은 함수를 사용할 수 있습니다. query({A2:C; E2:G},"select * where Col1 is ..
SQL order by 특정 조건으로 정렬하기 쿼리를 작성하다 보면 특정 컬럼별 내림차순 오름차순이 아닌 특정 조건으로 정렬해야 하는 경우가 있습니다. SQL을 사용 하여 어떻게 특정 조건으로 정렬하는지 살펴보겠습니다. 아래 쿼리를 사용하여 movies 예시 테이블을 만들었습니다. CREATE TABLE movies ( id INT PRIMARY KEY, title VARCHAR(50), director VARCHAR(50), release_date DATE, rating FLOAT, duration INT ); INSERT INTO movies (id, title, director, release_date, rating, duration) VALUES (1234, '아바타', '제임스 카메론', '2009-12-17', 8.5, 162), (567..
SQL LIKE 대신 정규식 사용한 검색 방법: sql multiple like 특정 키워드가 포함된 상품의 주문 수량을 구하는 경우가 많습니다. 키워드가 적은 경우에는 like or을 사용하거나 정규식을 사용합니다. --like or 사용하는 경우 select item_id, item_name, item_amount from items where item_name like '핸드폰 케이스' or item_name like '에어팟 케이스' or item_name like '원피스' ; --정규식 사용하는 경우(postgresql) select item_id, item_name, item_amount from items where item_name ~* '핸드폰 케이스|에어팟 케이스|원피스' 하지만 키워드가 많으면 where절에서 키워드를 늘리기가 어렵습니다. 이런 경우에는 테이블 ..
구글 스프레드시트에서 다중 조건 vlookup 값 확인 구글 시트를 사용하여 다중 조건을 만족하는 값을 확인하는 방법을 알아보겠습니다. VLOOKUP 함수는 일반적으로 단일 조건에서만 작동합니다. 따라서, INDEX와 MATCH 함수를 사용하여 두 개 이상의 조건을 가진 데이터에서 원하는 정보를 확인해 보겠습니다. 예시 데이터는 3개 열(A, B, C)과 5개 행으로 구성된 표입니다. A열에는 과일 종류, B열에는 과일 색상, C열에는 그에 해당하는 값이 들어 있습니다. 위 데이터에서 A가 Orange이고 B가 Brown인 값을 찾으려면 아래와 같은 함수를 사용하면 됩니다. =INDEX(C2:C6, MATCH(1, (A2:A6="Orange")*(B2:B6="Brown"), 0)) C2:C6: 찾고 싶은 값의 범위 A2:A6: 첫 번째 조건 범위 B2:B6:..
SQL을 활용한 임시 테이블 만들기 SQL에서 자주 사용되는 CTE(Common Table Expression)를 활용한 간단한 쿼리 작성 방법에 대해 알아보겠습니다. 이를 통해 데이터를 DB 테이블에 직접 ingest 하지 않고 테이블을 사용할 수 있습니다. 데이터베이스에 데이터를 저장하지 않고 메모리에서 처리하기 때문에, 빠르게 결과를 얻을 수 있습니다. 첫 번째 예제는 컬럼이 하나인 임시 테이블을 만드는 경우입니다. WITH brand_tbl(keyword) AS ( VALUES 'Nike', 'Adidas', 'Puma', 'Under Armour', 'New Balance' ) select keyword from brand_tbl 위 쿼리는 'brand_tbl'이라는 임시 테이블을 생성하고, 여기에 스포츠 브랜드 이름을 추가했습니..
SQL에서 Roll up 함수 활용하기: 계층적 데이터 집계 방법 Roll up 함수는 SQL에서 집계 함수를 사용할 때, 그룹핑을 계층적으로 구조화하여 결과를 반환하는 함수입니다. 이 함수는 주로 계층적인 데이터를 집계할 때 사용되며, 여러 레벨에서 총합, 부분합 등을 계산할 때 유용합니다. 해당 함수를 사용한 쿼리를 예시로 들어보겠습니다. store_item 테이블을 생성하고 데이터를 삽입하였습니다. CREATE TABLE store_item ( store_name VARCHAR(50), store_item_id VARCHAR(50) ); INSERT INTO store_item (store_name, store_item_id) VALUES ('Store A', 'Item 1'); INSERT INTO store_item (store_name, store_item_..
제품 주문 데이터를 활용한 커버리지 비율 분석 이번 글에서는 SQL을 사용하여 제품 주문 데이터를 활용하여 커버리지 비율을 분석하는 방법에 대해 알아보겠습니다. 샘플 데이터를 아래와 같이 생성했습니다. 예시 데이터입니다. 이 쿼리는 orders 테이블을 생성하고, 해당 테이블에 샘플 데이터를 삽입하는 쿼리입니다. orders 테이블은 제품 주문 데이터를 저장하는 테이블입니다. 제품 ID(product_id), 제품 이름(product_name), 제품 주문량(product_orders)을 컬럼으로 가지며, 제품 ID를 기본 키로 설정합니다. Dbeaver를 통해 table 추가했습니다. -- orders 테이블 생성 CREATE TABLE orders ( product_id INT PRIMARY KEY, product_name VARCHAR(50),..

반응형