본문 바로가기

문제 풀이/프로그래머스49

[MYSQL 31] 업그레이드 할 수 없는 아이템 구하기 업그레이드 할 수 없는 아이템 구하기 (LEVEL3)  더 이상 업그레이드할 수 없는 아이템 출력 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME), 아이템의 희귀도(RARITY) 조회 정렬 아이템 ID 내림차순 정답 코드SELECT ITEM_ID, ITEM_NAME, RARITYFROM ITEM_INFOWHERE ITEM_ID NOT IN (SELECT DISTINCT I.ITEM_ID FROM ITEM_INFO I JOIN ITEM_TREE T ON I.ITEM_ID = T.PARENT_ITEM_ID)ORDER BY ITEM_ID DESCMEMO중복제거 DISTINCT 2024. 10. 3.
[MYSQL 30] 고양이와 개는 몇 마리 있을까 고양이와 개는 몇 마리 있을까 (LEVEL2)  동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회고양이를 개보다 먼저 조회정답 코드SELECT ANIMAL_TYPE, count(*) as countFROM ANIMAL_INSGROUP BY ANIMAL_TYPEORDER BY ANIMAL_TYPE 2024. 10. 2.
[MYSQL 29] NULL 처리하기 NULL 처리하기 (LEVEL2)  동물의 생물 종, 이름, 성별 및 중성화 여부를 조회이름이 없는(NULL) 동물의 이름은 "No name"으로 표시해 주세요.정렬 아이디 순정답 코드SELECT ANIMAL_TYPE, CASE WHEN NAME IS NULL THEN 'No name' ELSE NAME END AS NAME, SEX_UPON_INTAKEFROM ANIMAL_INS MEMO아이디 순 정렬이 조건으로 있어서 따로 FROM 을 걸었는데 굳이 안써도 됐음FROM (SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID) AS ANULL 은 IFNULL 로 따로 처리 할 수 있음SELECT ANIMAL_TYPE, IFNULL(NAME,'No name') AS NAME, S.. 2024. 9. 27.
[MYSQL 27] ROOT 아이템 구하기 ROOT 아이템 구하기 (LEVEL2)  ROOT 아이템을 찾아 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME)을 출력 정렬은  아이템 ID 오름차순  정답 코드SELECT T.ITEM_ID, ITEM_NAMEFROM ITEM_TREE T LEFT JOIN ITEM_INFO I ON T.ITEM_ID = I.ITEM_IDWHERE PARENT_ITEM_ID IS NULL ORDER BY ITEM_ID  MEMO문제를 읽고 ROOT 아이템은 PARENT_ITEM_ID 가 NULL 이라는 것을 유추해야 하는 문제 (문제 이해력) 2024. 9. 26.
[MYSQL 26] 입양 시각 구하기 (1) 입양 시각 구하기 (1) (LEVEL2) 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하 정렬은 시간대 순 정답 코드SELECT HOUR(DATETIME) AS HOUR, count(*) AS COUNTFROM ANIMAL_OUTSGROUP BY HOURHAVING HOUR > 8 AND HOUR MEMOwhere 에서 조건문을 걸어도 됨SELECT HOUR(DATETIME) AS HOUR, count(*) AS COUNTFROM ANIMAL_OUTSWHERE HOUR(DATETIME) > 8 AND HOUR(DATETIME) 2024. 9. 25.
[MYSQL 24] 연도별 대장균 크기의 편차 구하기 연도별 대장균 크기의 편차 구하기 (LEVEL2)    분화된 연도(YEAR), 분화된 연도별 대장균 크기의 편차(YEAR_DEV), 대장균 개체의 ID(ID) 를 출력하는 SQL 문을 작성분화된 연도별 대장균 크기의 편차는 분화된 연도별 가장 큰 대장균의 크기 - 각 대장균의 크기 정렬 연도에 오름차순, 대장균 크기의 편차 오름차순정답 코드SELECT YEAR, YEAR_COLONY - SIZE_OF_COLONY AS YEAR_DEV, IDFROM ECOLI_DATA E JOIN (SELECT YEAR(DIFFERENTIATION_DATE) YEAR, MAX(SIZE_OF_COLONY) YEAR_COLONY FROM ECOLI_DATA .. 2024. 9. 24.