전체 글 76

SQL (다중 JOIN) - Top Competitors

문제https://www.hackerrank.com/challenges/full-score/problem?isFullScreen=true목표/풀이[리더보드 만들기]조회: 해커 아이디, 이름을 출력하기조건: 단 2개 이상의 챌린지에서 만점을 받은 사람에 한해서정렬 : 만점 받은 챌린지 개수 내림차순, 아이디 오름차순[테이블 살펴보기]hackershacker_idnamedifficultydifficulty_levelscore : 최대점수(=만점) 💯challengeschallenge_idhacker_id : 챌린지를 만든 아이디 ⭐difficulty_levelsubmissionssubmission_id : 제출 아이디hacker_id : 제출한 아이디(=문제를 푼 아이디) ⭐challenge_idscore..

SQL (MySQL, Oracle 중앙값 구하기) - Weather Observation Station 20

문제https://www.hackerrank.com/challenges/weather-observation-station-20/problem?isFullScreen=true목표/풀이A median is defined as a number separating the higher half of a data set from the lower half. Query the median of the Northern Latitudes (LAT_N) from STATION and round your answer to 4 decimal places. 중앙값은 전체 데이터에서 상위 50%와 하위 50%로 나뉘는 숫자이다.북위도의 중앙값을 구하고, 소수점 4자리까지 반올림해서 표현하라 코드DBMS에 따라 중앙값을 구할 수..

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..