본문 바로가기

프로그래머스26

[프로그래머스 / MySQL] 최댓값 구하기 문제 💡 가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요. 테이블 형태 풀이 SELECT MAX(DATETIME) AS 시간 FROM ANIMAL_INS 해설 SELECT MAX(DATETIME) AS 시간 FROM ANIMAL_INS 가장 늦게 들어왔다 = 시간 값이 가장 크다 → DATETIME 컬럼을 MAX 로 감싸기 2024. 1. 30.
[프로그래머스 / MySQL] 어린 동물 찾기 문제 💡 동물 보호소에 들어온 동물 중 젊은 동물1의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요. 테이블 형태 풀이 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION 'Aged' ORDER BY ANIMAL_ID 해설 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION 'Aged' ORDER BY ANIMAL_ID 젊은 동물 = Aged 가 아닌 동물 → 조건절 WHERE에 ≠와 같은 뜻인 비교연산자 사용(!=도 가능) MySQL 공식 문서 참고 이후 ORDER BY 로 동물 아이디 기준 오름차순 정렬 2024. 1. 30.
[프로그래머스 / MySQL] 동물의 아이디와 이름 문제 💡 동물 보호소에 들어온 모든 동물의 아이디와 이름을 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다. 테이블 형태 풀이 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS ORDER BY ANIMAL_ID 해설 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS ORDER BY ANIMAL_ID - ORDER BY 로 동물 아이디 기준 오름차순 정렬 2024. 1. 30.
[프로그래머스 / MySQL] 즐겨찾기가 가장 많은 식당 정보 출력하기 문제 💡 REST_INFO 테이블에서 음식종류별로 즐겨찾기수가 가장 많은 식당의 음식 종류, ID, 식당 이름, 즐겨찾기수를 조회하는 SQL문을 작성해주세요. 이때 결과는 음식 종류를 기준으로 내림차순 정렬해주세요. 테이블 형태 풀이 SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITES FROM REST_INFO WHERE (FOOD_TYPE, FAVORITES) IN (SELECT FOOD_TYPE, MAX(FAVORITES) FROM REST_INFO GROUP BY FOOD_TYPE) ORDER BY FOOD_TYPE DESC 해설 SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITES FROM REST_INFO 결과 예시와 일치하도록 .. 2024. 1. 29.
[프로그래머스 / MySQL] 중복 제거하기 문제 💡 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다. 테이블 형태 풀이 SELECT COUNT(DISTINCT NAME) FROM ANIMAL_IN 해설 SELECT COUNT(DISTINCT NAME) FROM ANIMAL_INS DISTINCT 로 중복 제거하여 COUNT 해주었다 COUNT와 COUNT(DISTINCT ) MySQL 공식 문서 참고 MySQL :: MySQL 8.0 Reference Manual :: 14.19.1 Aggregate Function Descriptions MySQL 8.0 Reference Manual / ... / Functions and Operat.. 2024. 1. 29.
[프로그래머스 / MySQL] 여러 기준으로 정렬하기 문제 💡 동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해주세요. 단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다. 테이블 형태 풀이 SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS ORDER BY NAME ASC, DATETIME DESC 해설 SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS ORDER BY NAME ASC, DATETIME DESC 출력 결과 테이블에 포함되어야 하는 컬럼들을 SELECT 문에 순서대로 포함 이름 순으로 조회하되 이름이 같은 경우 나중에 보호하기 시작한 동물을 보여줘야 함 → 이름 오름차순, 보호 시작일 .. 2024. 1. 29.
[프로그래머스 / MySQL] 상위 n개 레코드 문제 💡 동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요. 테이블 형태 풀이 SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME LIMIT 1 해설 SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME LIMIT 1 가장 먼저 들어온 동물은 보호 시작일이 가장 오래된 동물이므로 ORDER BY 로 기본 오름차순 정렬 LIMIT 1으로 출력 개수 제한을 1개로 설정 2024. 1. 29.
[프로그래머스 / MySQL] 조건에 맞는 회원 수 구하기 문제 💡 USER_INFO 테이블에서 2021년에 가입한 회원 중 나이가 20세 이상 29세 이하인 회원이 몇 명인지 출력하는 SQL문을 작성해주세요. 테이블 형태 풀이 SELECT COUNT(*) AS USERS FROM USER_INFO WHERE LEFT(JOINED, 4) = 2021 AND AGE BETWEEN 20 AND 29 해설 SELECT COUNT(*) AS USERS FROM USER_INFO 회원 명 수를 출력해야 하기 때문에 COUNT(*) 사용 예시를 참고하여 USERS라는 이름으로 컬럼명 설정 WHERE LEFT(JOINED, 4) = 2021 AND AGE BETWEEN 20 AND 29 YYYY-MM-DD 형태로 가입일자가 기록된 JOINED 컬럼에서 LEFT 를 사용하여 .. 2024. 1. 29.