반응형 SQL61 [프로그래머스 SQL] Lv. 2 진료과별 총 예약 횟수 출력하기 ※ 문제 ※ 코드SELECT MCDP_CD AS 진료과코드, COUNT(MCDP_CD) AS 5월예약건수FROM APPOINTMENTWHERE DATE_FORMAT(APNT_YMD, '%Y-%m') = '2022-05'GROUP BY MCDP_CDORDER BY COUNT(MCDP_CD), MCDP_CD; ※ 풀이DATE_FORMAT 함수를 이용해서 년월만 추출해줍니다. 이후 추출된 년월이 일치하는 값만 WHERE 절로 찾아줍니다.그외에는 GROUP BY와 ORDER BY 절을 문제에 맞추어 작성해주면 되겠습니다. 2025. 6. 9. [프로그래머스 SQL] Lv. 2 중성화 여부 파악하기 ※ 문제 ※ 코드-- 1번 코드 (LIKE)SELECT ANIMAL_ID, NAME, CASE WHEN (SEX_UPON_INTAKE LIKE 'Neutered%') OR (SEX_UPON_INTAKE LIKE 'Spayed%') THEN 'O' ELSE 'X' END AS '중성화'FROM ANIMAL_INSORDER BY ANIMAL_ID;-- 2번 코드 (IF)SELECT ANIMAL_ID, NAME, IF(SEX_UPON_INTAKE LIKE 'Neutered%' OR SEX_UPON_INTAKE LIKE 'Spayed%', 'O', 'X') as 중성화FROM ANIMAL.. 2025. 6. 8. [프로그래머스 SQL] Lv. 2 조건에 맞는 아이템들의 가격의 총합 구하기 ※ 문제 ※ 코드SELECT SUM(PRICE) AS TOTAL_PRICEFROM ITEM_INFOWHERE RARITY = 'LEGEND'; ※ 풀이WHERE 조건문과 SUM 집계함수로 해결할 수 있습니다. 2025. 6. 8. [프로그래머스 SQL] Lv. 2 카테고리 별 상품 개수 구하기 ※ 문제 ※ 코드SELECT LEFT(PRODUCT_CODE, 2) AS CATEGORY, COUNT(*) AS PRODUCTSFROM PRODUCTGROUP BY LEFT(PRODUCT_CODE, 2)ORDER BY PRODUCT_CODE; ※ 풀이GROUP BY에는 LEFT 함수가 적용 가능하므로 위와 같이 작성해주면 되겠습니다. 추가로 해당 포스팅부터는 MySQL로 문제를 풀기 시작했습니다. 2025. 4. 29. [프로그래머스 SQL] Lv. 2 DATETIME에서 DATE로 형 변환 ※ 문제 ※ 코드-- 코드를 입력하세요SELECT ANIMAL_ID, NAME, TO_CHAR(DATETIME, 'YYYY-MM-DD') AS 날짜FROM ANIMAL_INSORDER BY ANIMAL_ID; ※ 풀이이번 문제도 매우 간단한 문제였습니다.TO_CHAR를 통한 형변환과 졍렬 구문만 넣어주면 되는 문제였습니다. 2025. 3. 9. [프로그래머스 SQL] Lv. 2 가격이 제일 비싼 식품의 정보 출력하기 ※ 문제 ※ 코드-- 코드를 입력하세요SELECT *FROM (SELECT * FROM FOOD_PRODUCT ORDER BY PRICE DESC)WHERE ROWNUM = 1; ※ 풀이실질적으로 Lv. 1 수준의 문제입니다.서브쿼리와 ROWNUM으로 해결 가능한 문제였습니다. 2025. 3. 9. [프로그래머스 SQL] Lv. 2 중복 제거하기 ※ 문제 ※ 코드-- 코드를 입력하세요SELECT COUNT(*)FROM (SELECT DISTINCT NAME FROM ANIMAL_INS WHERE NAME IS NOT NULL); ※ 풀이DISTINCT와 NOT NULL 구문을 사용하여 만든 테이블의 NAME의 개수를 세어주면 됩니다. 2025. 3. 1. [프로그래머스 SQL] Lv. 2 동명 동물 수 찾기 ※ 문제 ※ 코드-- 코드를 입력하세요SELECT NAME, COUNTFROM (SELECT NAME, COUNT(*) AS COUNT FROM ANIMAL_INS WHERE NAME IS NOT NULL GROUP BY NAME)WHERE COUNT > 1ORDER BY NAME;-- 코드를 입력하세요SELECT NAME, COUNT(*)FROM ANIMAL_INSWHERE NAME IS NOT NULLGROUP BY NAMEHAVING COUNT(*) > 1ORDER BY NAME; ※ 풀이그룹화 문제네요. 그룹화된 결과에 대해 조건을 걸러야 하는데 SQL 명령어 순서는 다음과 같이 FROM - WHERE - G.. 2025. 3. 1. [프로그래머스 SQL] Lv. 2 NULL 처리하기 ※ 문제 ※ 코드-- 코드를 입력하세요SELECT ANIMAL_TYPE, NVL(NAME, 'No name'), SEX_UPON_INTAKEFROM ANIMAL_INSORDER BY ANIMAL_ID; ※ 풀이오라클은 NVL, MySQL은 IFNULL로 처리해주면 되겠습니다. 2025. 3. 1. 이전 1 2 3 4 5 6 7 다음 반응형