Algorithm/Programmers

프로그래머스 ) 잡은 물고기의 평균 길이 구하기 [SQL] - 오늘의 TIL

그리밍밍 2024. 4. 6. 11:39

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

 

프로그래머스

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

programmers.co.kr


👇소스 코드 

 

case1. case문 활용

Length가 null일 경우 10을 아닐경우 Length를 반환하고 서브쿼리를 사용해서 

Length의 평균을 구해준 후 Round함수를 이용해 소수 둘째자리까지 나타내주었다.

SELECT ROUND(AVG(AA.LENGTH),2) AS AVERAGE_LENGTH 
FROM (
    SELECT 
          CASE WHEN LENGTH IS NULL 
               THEN 10
               ELSE LENGTH
               END AS LENGTH
    FROM FISH_INFO
) AA

 

case2. COALESCE 함수 활용

case1을 하다보니 서브쿼리를 이용하지 않아도 되겠다 싶어서 COALESCE함수를 이용하였다.

LENGTH를 순서대로 NULL이 아닌 값을 반환하게 되는데 만약 NULL일 경우는 10을 반환한다.

나머지는 위와 똑같다!

SELECT ROUND(AVG(COALESCE(LENGTH, 10)), 2) AS AVERAGE_LENGTH
FROM FISH_INFO;

 

728x90