Lv2 - 연도별 대장균 크기의 편차 구하기

2025. 8. 1. 14:35·CODING TEST/MySQL

📌 문제 정보

- 문제 이름 : 프로그래머스 - (SUM, MAX, MIN) 연도별 대장균 크기의 편차 구하기

- 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/299310

 

 

 

📌 문제 요약

- ECOLI_DATA 테이블 : ID, PARENT_ID, SIZE_OF_COLONY, DIFFERENTIATION_DATE, GENOTYPE

- 분화된 연도(YEAR), 분화된 연도별 대장균 크기의 편차(YEAR_DEV), 대장균 개체의 ID(ID) 를 출력하는 SQL 문을 작성해주세요. 분화된 연도별 대장균 크기의 편차는 분화된 연도별 가장 큰 대장균의 크기 - 각 대장균의 크기로 구하며 결과는 연도에 대해 오름차순으로 정렬하고 같은 연도에 대해서는 대장균 크기의 편차에 대해 오름차순으로 정렬해주세요.

 

예시)

ID  PARENT_ID  SIZE_OF_COLONY  DIFFERENTIATION_DATE  GENOTYPE
1 NULL 10 2019/01/01 5
2 NULL 2 2019/01/01 3
3 1 100 2020/01/01 4
4 2 10 2020/01/01 4
5 2 17 2020/01/01 6
6 4 101 2021/01/01 22

 

출력)

YEAR  YEAR_DEV  ID
2019 0 1
2019 8 2
2020 0 3
2020 83 5
2020 90 4
2021 0 6

 

 

 

📌 내 풀이 및 코드

SELECT
  YEAR(DIFFERENTIATION_DATE) AS YEAR, -- 연도 추출
  MAX(SIZE_OF_COLONY) OVER(PARTITION BY YEAR(DIFFERENTIATION_DATE)) 
    - SIZE_OF_COLONY AS YEAR_DEV,     -- 연도별 최대값 - 현재 개체 크기 = 편차
  ID                                   -- 개체 ID
FROM ECOLI_DATA
ORDER BY YEAR ASC, YEAR_DEV ASC;       -- 연도 오름차순, 편차 오름차순

 

 

 

📌 새로 배운 문법

<-- 이번 문제에서 새로 배운 Java 문법 정리 -->

** 윈도우 함수 **

함수명(컬럼명) OVER (PARTITION BY ... ORDER BY ...)

- OVER이 붙으면 무조건 윈도우 함수.

- PARTITION BY, ORDER BY는 OVER 안에서 윈도우(창)의 범위와 순서를 정해주는 옵션

'CODING TEST > MySQL' 카테고리의 다른 글

Lv2 - 부모의 형질을 모두 가지는 대장균 찾기  (0) 2025.08.01
Lv2 - 분기별 분화된 대장균의 개체 수 구하기  (0) 2025.08.01
Lv2 - 노션별 평균 역 사이 거리 조회하기  (0) 2025.08.01
Lv2 - 조건에 맞는 사원 정보 조회하기  (0) 2025.08.01
Lv2 - 조건에 맞는 개발자 찾기  (0) 2025.07.30
'CODING TEST/MySQL' 카테고리의 다른 글
  • Lv2 - 부모의 형질을 모두 가지는 대장균 찾기
  • Lv2 - 분기별 분화된 대장균의 개체 수 구하기
  • Lv2 - 노션별 평균 역 사이 거리 조회하기
  • Lv2 - 조건에 맞는 사원 정보 조회하기
iamyuunzo
iamyuunzo
https://github.com/iamyuunzo
  • iamyuunzo
    iamyuunzo
    iamyuunzo
  • 전체
    오늘
    어제
    • 분류 전체보기 (94)
      • Study (5)
        • App Developer (0)
        • Algorithm study (0)
        • Google AI Essentials (3)
      • Project (3)
        • 감행 (3)
        • Tokkit (0)
        • 다시, 봄 (0)
        • Clone Coding (0)
      • 자격증 모음 (5)
        • AWS Certification (1)
        • 정보처리기사 (0)
        • 빅데이터분석기사 (1)
        • TOEIC Speaking (3)
      • CODING TEST (79)
        • baekjoon (26)
        • programmers (20)
        • MySQL (31)
        • COS Pro (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    AWS Certified Cloud Practitioner
    회고
    Programmers
    우리 fisa
    AWS Certification
    SQL
    회고록
    toeic speaking
    baekjoon
    감행
    우리fis아카데미
    우리fisa
    프로그래머스
    백준
    COS Pro
    java
    CLF-C02
    클라우드서비스개발
    프로젝트 리팩토링
    토익 스피킹
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
iamyuunzo
Lv2 - 연도별 대장균 크기의 편차 구하기
상단으로

티스토리툴바