본문 바로가기

프로그래밍/MySQL

(8)
[프로그래머스] 입양 시각 구하기(2) 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/59413 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이WITH HOURS AS ( SELECT 0 AS HOUR UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 UNION ALL SEL..
[프로그래머스] 자동차 대여 기록 별 대여 금액 구하기 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/151141 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이SELECT HISTORY_ID,ROUND(CC.DAILY_FEE*(DATEDIFF(CRH.END_DATE,CRH.START_DATE)+1)*(100-IFNULL(CDP.DISCOUNT_RATE,0))/100) FEEFROM CAR_RENTAL_COMPANY_CAR CCJOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY CRHON CC.CAR_ID = CRH.CAR_IDLEFT JOIN CAR_RENTAL_..
[프로그래머스] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/151139 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이WITH CAR_RENTAL_MONTH AS ( SELECT CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY CRH1 WHERE CRH1.START_DATE BETWEEN '2022-08-01' AND '2022-10-31' GROUP BY CAR_ID HAVING COUNT(*) >= 5),CAR_RENTAL_INFO AS ( SELECT MONTH(CRH2..
[프로그래머스] FrontEnd 개발자 찾기 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/276035 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이SELECT DISTINCT D.ID, D.EMAIL, D.FIRST_NAME, D.LAST_NAMEFROM DEVELOPERS DJOIN SKILLCODES SON D.SKILL_CODE & S.CODE = S.CODEWHERE S.CATEGORY = 'Front End'ORDER BY D.ID 해설이 문제의 포인트는 DISTINCT 사용이었다 .. !DISTINCT를 사용하지 않으면 JOIN으로 인해 한 개발자가 여러 ..
[프로그래머스] 물고기 종류 별 대어 찾기 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/293261 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이SELECT FI.ID,FNI.FISH_NAME,FI.LENGTHFROM FISH_INFO FIJOIN FISH_NAME_INFO FNION FI.FISH_TYPE = FNI.FISH_TYPEWHERE FI.LENGTH = ( SELECT MAX(FI2.LENGTH) FROM FISH_INFO FI2 WHERE FI.FISH_TYPE = FI2.FISH_TYPE)ORDER BY ID  해설처음 시도 때는 FI..
[프로그래머스] 주문량이 많은 아이스크림들 조회하기 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/133027 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이SELECT FLAVORFROM ( SELECT FLAVOR, TOTAL_ORDER FROM FIRST_HALF UNION ALL SELECT FLAVOR, TOTAL_ORDER FROM JULY) AS FULLGROUP BY FLAVORORDER BY SUM(TOTAL_ORDER) DESCLIMIT 3 해설JOIN이 주제였지만 MySQL에서는 FULL JOIN..
[프로그래머스] 오프라인/온라인 판매 데이터 통합하기 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/131537 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이SELECTdate_format(SALES_DATE,'%Y-%m-%d') SALES_DATE,PRODUCT_ID,USER_ID,SALES_AMOUNTFROM ( SELECT SALES_DATE, PRODUCT_ID, NULL AS USER_ID, SALES_AMOUNT FROM OFFLINE_SALE OFS UNION ALL SELECT SALES_DATE, ..
[프로그래머스] 멸종위기의 대장균 찾기 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/301651 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이WITH RECURSIVE GEN AS( SELECT ID, PARENT_ID, 1 AS GE FROM ECOLI_DATA WHERE PARENT_ID IS NULL UNION ALL SELECT N.ID, N.PARENT_ID, G.GE+1 FROM ECOLI_DATA N JOIN GEN G ON N.PARENT_ID = G.ID)SE..