SQL 13

Programmers 정리

서울에 위치한 식당 목록 출력하기 SELECT rr.rest_id, rest_name, food_type, favorites, ri.address, ROUND(avg(rr.review_score),2) score from rest_info ri join rest_review rr on rr.rest_id = ri.rest_id where ri.address like '서울%' group by 1,2,3,4,5 order by 6 desc, 4 desc left join하면 안됨 → Null값이 포함되므로 오프라인/온라인 판매 데이터 통합하기 SELECT sales_date, product_id, sales_amount FROM ONLINE_SALE UNION SELECT sales_date, produc..

SQL 2024.03.22

카카오 쿼리테스트 5문제

23년 7월에 신규 회원가입을 하고 회원 가입일로부터 7일 이내 구매를 한 유저들이 몇 명인지, 그리고 이 고객들 중 23년 11월에 재구매한 고객들의 수는 몇 명인지를 추출하는 쿼리를 작성해 주세요. 내가 푼 문제 select count(distinct customer_id) '7일 이내 구매 고객수', count(distinct case when o.order_date like '2023-11%' then customer_id end) '11월 재구매 고객수' from orders o left join customers c using (customer_id) where c.join_date like '2023-07%' and datediff(c.join_date,o.order_date) 1000000..

SQL 2024.03.21

SQL 프로그래머스 쿼리테스트

US E-Commerce Records 2020 데이터셋은 미국 이커머스 웹사이트의 판매 데이터 입니다. records 테이블은 주문 번호, 주문 날짜, 주문 지역, 카테고리 등 주문의 상세 정보를 담고 있습니다. 이 데이터를 이용하여 미국의 각 지역별로 어떤 카테고리의 상품이 많이 판매되는지 알아보려고 합니다. region, category 별 주문량을 계산해 출력하는 쿼리를 작성해주세요. select region, count(DISTINCT case WHEN category = 'Furniture' THEN order_id END) AS Furniture, count(DISTINCT case WHEN category = 'Office Supplies' THEN order_id END) AS 'Offi..

SQL 2024.03.20

고급 SQL 실습 - 웹 접속 및 사용 분석

1. 일별 세션건수, 일별 방문 사용자(유저), 사용자별 평균 세션 수 with temp_01 as ( select to_char(date_trunc('day', visit_stime), 'yyyy-mm-dd') as d_day -- ga_sess 테이블에는 sess_id로 unique하므로 count(sess_id)와 동일 , count(distinct sess_id) as daily_sess_cnt , count(sess_id) as daily_sess_cnt_again , count(distinct user_id) as daily_user_cnt from ga.ga_sess group by to_char(date_trunc('day', visit_stime), 'yyyy-mm-dd') ) selec..

SQL 2024.03.20

SQL - Join & Group by

1. 고객명 Antonio Moreno이 1997년에 주문한 주문 상품정보를 고객 주소, 주문 아이디, 주문일자, 배송일자, 배송 주소 및 주문 상품아이디, 주문 상품명, 주문 상품별 금액, 주문 상품이 속한 카테고리명, supplier명을 구할 것. select a.contact_name, a.address, b.order_id, b.order_date, b.shipped_date, b.ship_address , c.product_id, d.product_name, c.amount, e.category_name, f.contact_name as supplier_name from nw.customers a join nw.orders b on a.customer_id = b.customer_id join ..

SQL 2024.03.20