[MySQL][String, Data] 자동차 평균 대여기간 구하기
·
프로그래머스
코드SELECT CAR_ID, ROUND(AVG(DATEDIFF(END_DATE, START_DATE) + 1), 1) AVERAGE_DURATIONFROM CAR_RENTAL_COMPANY_RENTAL_HISTORYGROUP BY CAR_IDHAVING AVERAGE_DURATION >= 7ORDER BY AVERAGE_DURATION DESC, CAR_ID DESC 쿼리 실행 순서 단계절설명①FROM테이블에서 데이터 로딩: CAR_RENTAL_COMPANY_RENTAL_HISTORY②GROUP BYCAR_ID를 기준으로 그룹핑③SELECT 내부의 AVG(...) 계산각 그룹에 대해 평균 대여 기간 계산④HAVING그룹별 평균 대여 기간이 >= 7인지 필터링⑤SELECT필터링된 결과에서 CAR_ID..
[SQL] PERCENT_RANK() 윈도우 함수 완전 정리
·
프로그래머스
PERCENT_RANK() 윈도우 함수 완전 정리SQL에서 데이터의 상대적 위치를 백분율로 구하는 방법1. 개념 정리: PERCENT_RANK()란?PERCENT_RANK()는 윈도우 함수(Window Function) 중 하나로,"해당 행이 전체 데이터에서 몇 퍼센트 지점에 위치해 있는지"를 계산해주는 함수다.이는 단순한 순위를 넘어서 백분율 기반의 상대적인 위치를 파악하고 싶을 때 유용하다. 예를 들어,사용자가 전체에서 상위 10%에 해당하는지어떤 제품이 매출 기준 상위 25%에 포함되는지이런 질문에 답할 수 있도록 도와준다. 2. 계산 방식공식은 다음과 같다PERCENT_RANK = (RANK - 1) / (TOTAL_ROWS - 1)RANK: 해당 행의 순위 (RANK()와 동일)TOTAL_ROW..
[프로그래머스 SQL] 대장균의 크기에 따라 분류하기 2
·
프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/301649 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드SELECT ID, CASE WHEN PRANK 쿼리 실행 순서FROM테이블 또는 서브쿼리(ECOLI_DATA)의 데이터를 불러옵니다.WHERE(없음: 조건이 있다면 이 단계에서 필터링)WINDOW FUNCTIONS (PERCENT_RANK())OVER (...) 구문이 실행되어 각 행에 대해 PRANK 값이 계산됩니다.SELECTID, SIZE_OF_COLONY, PRANK이 선택되고,외부 SELECT에서는..
[프로그래머스 SQL] 조건에 맞는 개발자 찾기
·
프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/276034 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드SELECT DISTINCT D.ID, D.EMAIL, D.FIRST_NAME, D.LAST_NAMEFROM SKILLCODES S JOIN DEVELOPERS D ON (S.CODE & D.SKILL_CODE) = S.CODEWHERE S.NAME IN ('Python', 'C#')ORDER BY D.ID 쿼리 실행 순서JOIN → FROM → WHERE → SELECT → ORDER BY로 진행됩니다.특정 스킬이 개발자의 스킬코드 안에..
[프로그래머스 SQL] 이름에 el이 들어가는 동물 찾기
·
프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/59047 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드SELECT ANIMAL_ID, NAMEFROM ANIMAL_INSWHERE ANIMAL_TYPE = 'Dog' AND NAME LIKE '%el%' ORDER BY NAME 쿼리 실행 순서FROM → WHERE → SELECT → OREDER BY
[프로그래머스 SQL] 멸종위기의 대장균 찾기
·
프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/301651 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드WITH RECURSIVE ECOLI_HIERACHY AS ( SELECT ID, PARENT_ID, 1 AS GENERATION FROM ECOLI_DATA WHERE PARENT_ID IS NULL UNION ALL SELECT E.ID AS ID, EH.ID AS PARENT_ID, EH.GENERATION + 1 AS GENERATION FROM ECOLI_HIERACHY EH JOIN ECO..
[프로그래머스 SQL] 업그레이드 할 수 없는 아이템 구하기 - 쿼리 실행 순서와 함께 보자
·
프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/273712 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드SELECT ITEM_ID, ITEM_NAME, RARITYFROM ITEM_INFOWHERE ITEM_ID NOT IN (SELECT t1.ITEM_ID FROM ITEM_TREE t1 JOIN ITEM_TREE t2 ON t1.ITEM_ID = t2.PARENT_ITEM_ID)ORDER BY ITEM_ID DESC 쿼리 실행 순서실행 순서SQL 절설명1FROM (ITEM_TREE → t1)ITEM_TREE 테이블을 t1 별칭으로 설정2..
[프로그래머스 SQL] 잡은 물고기의 평균 길이 구하기 - 쿼리 실행 순서와 함께 보자
·
프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/293259 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드SELECT ROUND(AVG(IFNULL(LENGTH, 10)), 2) AS AVERAGE_LENGTHFROM FISH_INFO 쿼리 실행 순서실행 순서SQL 절설명1FROM (FISH_INFO)FISH_INFO 테이블에서 데이터를 가져옴2SELECT (IFNULL(LENGTH, 10))LENGTH 값이 NULL이면 10으로 변환3AVG()IFNULL()이 적용된 LENGTH 값들의 평균을 계산4ROUND(AVG(...), 2)평균 값을..
개발자 성현
'프로그래머스' 카테고리의 글 목록