2025/12 7

SQL (계층쿼리, INNER JOIN) - New Companies

문제https://www.hackerrank.com/challenges/the-company/problem?isFullScreen=true 목표/풀이회사, 설립자별 리더, 시니어, 매니저, 직원 명수 구하기 처음 작성한 코드SELECT c.company_code , c.founder , COUNT(DISTINCT l.lead_manager_code) , COUNT(DISTINCT s.senior_manager_code) , COUNT(DISTINCT m.manager_code) , COUNT(DISTINCT e.employee_code)FROM company cINNER JOIN lead_manager l ON c.company_code = l.company_code ..

SQL (CONCAT, ORDER BY) - The PADS

해커랭크를 통해 SQL 연습 중이다.확실히 영문으로 된 문제라 난이도 자체는 쉽지 않지만 독해하는데 꽤 시간이 걸리는 것 같다.그래도 하다보면 익숙해지겠거니 하면서 천천히 풀고 있다. 문제https://www.hackerrank.com/challenges/the-pads/problem?isFullScreen=true목표/풀이두개의 쿼리를 만들기첫번째 쿼리이름 오름차순 정렬단, 직업명 첫 글자를 괄호로 감싸서 삽입어구로 제시 예 AnActorName(A), ADoctorName(D), AProfessorName(P),두번째 쿼리직업 개수 구하기직업 개수 오름차순 정렬 → 직업명 오름차순 정렬아웃풋 포맷: There are a total of [occupation_count] [occupation]s.occ..

SQL (재귀 쿼리, LEFT JOIN, LAG, COALESCE ) - 이틀치 누적 출고량 시뮬레이션

문제물류팀은 악천후로 인해 하루 동안 출고 처리가 중단될 경우, 해당 물량이 다음 날로 이월될 수 있다고 가정하고 있습니다. 이에 따라 특정 기간 동안 연속된 이틀간 처리해야 할 출고량을 계산해, 물류 센터의 최대 처리 부담을 사전에 파악하려고 합니다.shipments 테이블에는 다양한 주문 채널과 상태의 출고 기록이 저장되어 있습니다. 이 중 실제 배송이 필요한 온라인 주문만을 대상으로, 2024년 2월 한 달간 일자별 출고량을 집계하려고 합니다.매장 방문 주문이나 배송이 필요 없는 주문, 그리고 출고가 완료되지 않은 건은 분석 대상에서 제외합니다.출력 결과에는 해당 기간 내 모든 날짜가 빠짐없이 포함되어야 하며, 출고 기록이 없는 날짜의 경우 출고 건수는 0으로 표시되어야 합니다. 각 날짜에 대해 당..

SQL (RANK(), 상위 1%) - 사용자의 송금기록으로 상위 1% 찾기

문제 설명transactions 테이블에는 사용자 간 송금 기록이 있다.transactionssender_id송금한 사용자 IDreceiver_id받은 사용자 IDamount송금 금액created_at송금 일시각 송금 건에 대해 sender_id + receiver_id 값을 계산하라.👉 이 값이 상위 1% 이내에 해당하는 송금 관계만 조회하라.출력 컬럼sender_idreceiver_idid_sum조건상위는 값이 클수록 상위동점은 모두 포함코드SELECT sender_id ,receiver_id ,id_sumFROM ( SELECT sender_id ,receiver_id ,sender_id + receiver_id AS id_su..

SQL (PIVOT) - 제품 카테고리 별 매출 추이

문제당신은 이커머스 쇼핑몰의 데이터 분석가입니다. 마케팅 팀에서 2023년 한 해 동안의 제품 카테고리별 매출 추이를 보고 싶다며 데이터를 요청했습니다.orders 테이블과 products 테이블을 사용하여, 2023년의 각 카테고리별로 1분기(Q1)부터 4분기(Q4)까지의 **총 매출액(price의 합계)**을 보여주는 쿼리를 작성해주세요.데이터베이스 스키마orders 테이블 (주문 정보)order_id: 주문 고유 IDproduct_id: 주문한 상품 IDorder_date: 주문 날짜 (YYYY-MM-DD 형식)products 테이블 (상품 정보)product_id: 상품 고유 IDcategory: 상품 카테고리 (예: 의류, 전자제품, 가구 등)price: 상품 가격결과 테이블 예시category..

SQL (LAG(), MAX(), TIMESTAMPDIFF, DENSE_RANK()) - 스터디 카페의 '집중 타임' 세션 정의하기

문제당신은 무인 스터디 카페의 데이터 분석가입니다. 이 카페의 키오스크와 좌석에는 센서가 있어 회원이 어떤 행동(입실, 퇴실, 외출, 좌석 이동 등)을 할 때마다 로그가 기록됩니다. 하지만 로그 데이터만으로는 회원이 실제로 **'연속해서 공부한 시간(집중 타임)'**이 언제부터 언제까지인지 파악하기 어렵습니다. 회원이 잠깐 화장실을 다녀오거나(5분 이내), 물을 마시고 오는 등 짧은 시간 내에 다시 활동이 감지되면 같은 공부 세션으로 간주하고 싶습니다. 하지만 마지막 활동 이후 '1시간(60분)' 이상 기록이 없다면, 이전 공부는 끝났고 새로운 공부 세션이 시작된 것으로 정의하려고 합니다. 주어진 access_logs 테이블을 이용하여, 각 회원의 활동 기록을 '집중 타임 세션(session_id)' 별..

분산 -> 공분산 -> 상관관계 : 개념 빌드업해서 이해하기

피어슨 상관계수란?두 변수의 강도와 방향을 하나의 숫자로 나타낸 것이다.칼 피어슨(Karl Pearson)이 개발하여 피어슨 상관계수라고 한다.값은 -1에서 +1 사이의 숫자로 표현할 수 있다. 상관계수 값의 의미+1에 가까울수록: 강한 양의 상관관계주행거리 증가 → 주유비 증가공부시간이 증가 → 성적이 증가0에 가까울수록: 상관관계가 없음신발 사이즈와 수학점수어제 내린 비의 양과 오늘 점심 메뉴-1에 가까울수록: 강한 음의 상관관계운동 횟수 증가 → 체지방 감소상품 가격 증가 → 판매량 감소현업에선 0.7이상이면, 꽤 강력한 관계가 있다고 해석0.3~0.7사이면, 어느 정도 경향이 있다고 해석 실무활용사례마케팅웹사이트 체류시간과 결제 금액웹사이트에 오래 머물수록 고객이 실제로 더 많은 돈을 쓰는지 분..