solvesql

Data Analysis/TIL

[solvesql] 배송 예정일 예측 성공과 실패_CASE WHEN THEN END

문제 2017년 1월 한 달 동안 발생한 주문의 배송 예측이 정확했는지 분석을 하려고 합니다. 고객의 구매 일자별로 배송 예정 시각 안에 고객에게 도착한 주문과, 배송 예정 시각이 지나서 고객에게 도착한 주문을 각각 집계하는 쿼리를 작성해주세요. 배송 완료 또는 배송 예정 시각 데이터가 없는 경우는 계산에서 제외합니다. 계산 결과는 구매 날짜를 기준으로 오름차순 정렬되어야 한다. 문제 요약 - 예정 배송 시각 안(예정 배송일>배송 도착일) 에 도착한 주문과 예정 배송 시각을 초과한 주문(예정 배송일

Data Analysis/TIL

[solvesql] 멘토링 짝꿍 리스트_SUBQUERY

문제 멘티가 될 신규 입사자들은 ‘2021년 12월 31일’을 기준으로 3개월 이내 입사한 인원 전체이며, 멘토는 ‘2021년 12월 31일’을 기준으로 재직한지 2년 이상이 된 직원들만 배정하려고 합니다. 또한 최대한 다양한 분야의 직원들이 서로 교류 할 수 있도록 서로 다른 부서에 속하는 직원끼리 멘토링을 진행하려고 합니다. 위 조건을 모두 만족하는 멘티-멘토 짝꿍 리스트를 계산하는 쿼리를 작성해주세요. 쿼리 결과에는 매칭 가능한 멘토가 없는 경우도 모두 포함되어야 합니다. 추가로 쿼리 결과는 멘티 ID를 기준으로 오름차순 정렬되어 있어야 하고, 멘티 1명에 대해 배정 가능한 멘토가 여러 명인 경우 멘토 ID로 오름차순 정렬되어 있어야 합니다. 문제 요약 입사한지 3개월 안된 신입과 입사한지 2년 이..

Data Analysis/TIL

[solvesql] 우리 플랫폼에 정착한 판매자 1

문제 문제 요약 총 주문이 100건 이상 들어온 판매자 리스트를 출력하는 쿼리를 작성하라 풀이 SELECT seller_id, COUNT(order_id) orders FROM olist_order_items_dataset GROUP BY 1 HAVING orders >= 100; 근데 틀렸다. 210개의 칼럼만 나오면 되는데 239개의 칼럼이 나와서 틀렸다고 한다. 왜? 아무리 생각해도 왜 틀렸는지 몰라서 서치해보니 중복데이터가 없이 추출해야 해서 COUNT(DISTINCT order_id) 라고 써야 한댄다. 주문 100건을 파는 판매자가 3명 정도 있었는데 중복 제거하면 각각의 다른 seller_id를 가진 판매자를 3명 말고 그냥 1명으로 치라는 소리인데... 왜 판매자 정보를 줄여서 추출하라는건..

Data Analysis/TIL

[solvesql] 몇 분이서 오셨어요?_%, MOD

문제 테이블 당 일행 수 size가 홀수 인 주문의 모든 컬럼 추출하라 풀이 SELECT * FROM tips WHERE size % 2 = 1; SELECT * FROM tips WHERE MOD(size, 2) = 1; 배운 점 몫 = / 나머지 = %, MOD 실수를 나눌 때 몫(정수)만 반환하기 = FLOOR( 10.1 / 3) = 3

Data Analysis/TIL

[solvesql] 두 테이블 결합하기_GROUP BY

문제 역대 올림픽 정보 데이터셋은 역대 올림픽 경기와 관련된 데이터가 들어있는 테이블로 이루어져 있습니다. athletes 테이블에는 역대 올림픽 참가 선수의 이름이 들어 있습니다. events 테이블에는 종목과 경기 이름이 들어 있습니다. games 테이블에는 올림픽 개최 연도, 개최 도시와 시즌 정보가 기록되어 있습니다. records 테이블에는 역대 올림픽 참가 선수들의 신체 정보와 획득한 메달 정보가 기록되어 있습니다. 이 테이블은 다른 테이블과 매핑할 수 있는 ID 정보도 가지고 있습니다. teams 테이블에는 국가 정보가 기록되어 있습니다. 위 테이블 중 events 테이블과 records 테이블을 활용해 올림픽 골프 종목에 참가한 선수의 ID를 모두 조회하는 쿼리를 작성해주세요. 문제 요약 ..

J pathfinder
'solvesql' 태그의 글 목록