코딩테스트/SQL

[SQL][YEAR, JOIN] 연도별 대장균 크기의 편차 구하기

박소민 2024. 11. 1. 22:18
연도별 대장균 크기의 편차 구하기
 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

  • 풀이
    • 연도별 최댓값을 가지는 서브쿼리를 만들어서
    • JOIN 해서 사용
      • 이때 ON을 YEAR로 묶을 수 있다는 점이 생각이 안났음
SELECT YEAR(DIFFERENTIATION_DATE) AS YEAR, Y.MAX_VAL-E.SIZE_OF_COLONY AS YEAR_DEV, E.ID
FROM ECOLI_DATA AS E
JOIN 
    (SELECT YEAR(DIFFERENTIATION_DATE) AS YEAR, MAX(SIZE_OF_COLONY) AS MAX_VAL
        FROM ECOLI_DATA
        GROUP BY 1) AS Y
ON YEAR(DIFFERENTIATION_DATE) = Y.YEAR
ORDER BY 1 ASC, 2 ASC