[SQL] 20240209

김예지·2024년 2월 9일

SQL 풀이

목록 보기
14/26
post-thumbnail

*프로그래머스 SQL 문제 풀이입니다.


문제 1: 동명 동물 수 찾기

📃 문제 1 링크

동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요.

🔎 풀이 포인트

  • 조건: 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수 조회
  • 정렬: 이름 기준 오름차순
  • OUTPUT COLUMNS: 이름, 횟수

제출 답안

SELECT NAME, COUNT(NAME)
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT(NAME) > 1
ORDER BY NAME; 

문제 2: 입양 시각 구하기(1)

📃 문제 2 링크

보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.

🔎 풀이 포인트

  • 조건: 몇 시에 입양이 가장 활발하게 일어나는지
  • 정렬: 시간대 기준 오름차순
  • OUTPUT COLUMNS: 시간, 건수(COUNT)

제출 답안

SELECT HOUR(DATETIME) AS HOUR, COUNT(ANIMAL_ID) AS COUNT
FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) BETWEEN 9 AND 19
GROUP BY HOUR(DATETIME)
ORDER BY HOUR(DATETIME)

문제 3: 가격대별 상품 개수 구하기

📃 문제 3 링크

PRODUCT 테이블에서 만원 단위의 가격대 별로 상품 개수를 출력하는 SQL 문을 작성해주세요. 이때 컬럼명은 각각 컬럼명은 PRICE_GROUP, PRODUCTS로 지정해주시고 가격대 정보는 각 구간의 최소금액(10,000원 이상 ~ 20,000 미만인 구간인 경우 10,000)으로 표시해주세요. 결과는 가격대를 기준으로 오름차순 정렬해주세요.

🔎 풀이 포인트

  • 조건: 가격대별로 상품 개수 출력
  • 정렬: 가격대 기준 오름차순
  • OUTPUT COLUMNS: 가격대(PRICE_GROUP), 상품 개수(PRODUCTS)

제출 답안

SELECT TRUNCATE(PRICE, -4) AS PRICE_GROUP, COUNT(*) AS PRODUCTS
FROM PRODUCT
GROUP BY PRICE_GROUP 
ORDER BY PRICE_GROUP ; 
profile
넓고 얕게? 좁고 깊게?

0개의 댓글