본문 바로가기

분류 전체보기194

세션 재정의하기 https://solvesql.com/problems/redefine-session/ https://solvesql.com/problems/redefine-session/ solvesql.com WITH session_split AS( SELECT user_pseudo_id, event_timestamp_kst, LAG(event_timestamp_kst) OVER (ORDER BY event_timestamp_kst) AS prev_event, CASE WHEN LAG(event_timestamp_kst) OVER (ORDER BY event_timestamp_kst) IS NULL OR (juliand.. 2025. 7. 10.
카테고리 별 매출 비율 https://solvesql.com/problems/revenue-pct-per-category/ https://solvesql.com/problems/revenue-pct-per-category/ solvesql.com LV.5 인데 LV.4 보다 쉬운 것 같다.WITH TEMP AS( SELECT DISTINCT category, sub_category, ROUND(SUM(sales) OVER(PARTITION BY sub_category), 2) AS sales_sub_category, ROUND(SUM(sales) OVER(PARTITION BY category), 2) AS sales_category, ROUND(SUM(sales) OVER(),.. 2025. 7. 10.
폐쇄할 따릉이 정류소 찾기 1 https://solvesql.com/problems/find-unnecessary-station-1/ https://solvesql.com/problems/find-unnecessary-station-1/ solvesql.com SELECT S.station_id, S.nameFROM station S LEFT JOIN station near_s ON S.station_id != near_s.station_idWHERE S.updated_at = 5 주목할 점공식 보다 중요한건 JOIN 부분 같다. JOIN에서 조건이 불일치하는 공식은 처음 써보는데 앞으로 유용할 것 같다. 2025. 7. 7.
코호트란? (Cohort) 코호트(Cohort)는 공통된 특성이나 경험을 공유하는 사람들의 그룹을 말한다.일반적인 코호트의 의미같은 시기에 태어난 사람들 (예 : 1990년생 코호트)같은 시기에 입학한 학생들 (예 : 2020년 입학 코호트)같은 시기에 특정 경험을 한 사람들비즈니스/마테팅에서의 코호트같은 시기에 첫 구매(또는 서비스 가입)을 한 고객 그룹을 말한다. 예시:1월 코호트 : 1월에 첫 구매한 고객들2월 코호트 : 2월에 첫 구매한 고객들3월 코호트 : 3월에 첫 구매한 고객들왜 코호트로 나눌 까?시간에 따른 고객 행동 패턴을 분석하기 위해서예를 들어 :1월에 첫 구매한 고객들이 2월, 3월, 4월에 재구해하는 비율은?어느 달에 가입한 고객들의 재구매율이 가장 높은가?시간이 지날수록 고객들의 구매 패턴은 어떻게 변하.. 2025. 7. 2.
펭귄 날개와 몸무게의 상관 계수 Palmer Penguins 데이터베이스는 펭귄의 서식지, 종, 부리 길이 등 펭귄 연구 데이터를 담고 있습니다.펭귄은 일반적으로 날개 길이가 길 수록 큰 펭귄이기 때문에 몸무게도 늘어납니다. 따라서 날개 길이와 몸무게 사이에는 양의 상관 관계가 있습니다. 다만, 펭귄 종에 따라 상관 관계의 정도가 다릅니다. 이를 확인하기 위해 날개 길이와 몸무게의 피어슨 상관 계수(Pearson Correlation Coefficient)를 구하는 쿼리를 작성해주세요.쿼리 결과에는 아래 컬럼이 포함되어 있어야 하고, 상관 계수는 소수점 아래 넷째 자리에서 반올림 해 셋째 자리까지 출력되어야 합니다.SELECT species, ROUND (SUM((flipper_length_mm - avg_flipper) * .. 2025. 7. 2.
ROWS와 RANGE() ROWS는 물리적 행의 순서를 기준으로 윈도우를 정의 한다. RANGE는 정렬 기준 값이 같은 행들을 하나의 그룹으로 취금해서 계산한다. 쉽게 말하면 한 줄 씩 차례대로 계산하고 RANGE는 같은 값 끼리 묶어서 계산한다.예시다음과 같은 테이블이 있다고 생각해보자.-- 학생 성적 테이블student_name | exam_date | score김철수 | 2024-03-01 | 85이영희 | 2024-03-01 | 85 박민수 | 2024-03-02 | 90최지영 | 2024-03-03 | 78 ROWS 사용시SELECT student_name, exam_date, score, AVG(score) OVER ( ORDER BY exam.. 2025. 7. 1.