Road to Data Scientist

[프로그래머스] 월별 잡은 물고기 수 구하기 Lv.2 본문

코딩 테스트/SQL

[프로그래머스] 월별 잡은 물고기 수 구하기 Lv.2

ShazelP 2024. 6. 23. 22:49

월별 잡은 물고기 수 구하기

 

FISH_INFO 테이블

- ID: 물고기 아이디

- FISH_TYPE: 물고기 종류(숫자)

- LENGTH: 물고기의 길이 (cm)

- TIME: 물고기 잡은 날짜

FISH_NAME_INFO 테이블

- FISH_TYPE: 물고기 종류(숫자)

- FISH_NAME: 물고기 이름(문자)

 

문제

FISH_NAME_INFO에서 물고기의 종류 별 물고기의 이름과 잡은 수를 출력하는 SQL문을 작성해주세요. 물고기의 이름 컬럼명은 FISH_NAME, 잡은 수 컬럼명은 FISH_COUNT로 해주세요. 결과는 잡은 수 기준으로 내림차순 정렬해주세요.

 

정답예시

 

코드

SELECT COUNT(*) AS FISH_COUNT, A.FISH_NAME
FROM FISH_NAME_INFO A
JOIN FISH_INFO B
ON A.FISH_TYPE=B.FISH_TYPE
GROUP BY A.FISH_NAME
ORDER BY FISH_COUNT DESC;

 

설명

1. FISH_NAME_INFO 테이블과 FISH_INFO 테이블을 각각 A,B라 명명하고 공통 값인 FISH_TYPE 으로 JOIN 한다.

2. 여기서  COUNT(*) AS FISH_COUNT 로 총 개수와, FISH_NAME 을 추출하고

3. 집계함수 사용을 위한 GROUP BY FISH_NAME 으로 총 개수를 세고

4. 최종 결과를 FISH_COUNT 기준으로 내림차순 정렬한다. 

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/293257

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr