[SQL 문제 풀기] 연도별 대장균 크기의 편차 구하기(299310)

lhs's avatar
Mar 03, 2025
[SQL 문제 풀기] 연도별 대장균 크기의 편차 구하기(299310)
 

1. 문제 풀이 아이디어

  • MAX() OVER (PARTITION BY) 윈도우 함수를 사용하여 연도별 최대 크기를 구하고, 현재 크기와의 차이를 계산하여 문제를 해결할 수 있다.

2. 나의 정답 코드

SELECT YEAR(differentiation_date) year, MAX(size_of_colony) OVER (PARTITION BY YEAR(differentiation_date)) - size_of_colony year_dev, id FROM ecoli_data ORDER BY year, year_dev;

3. 정리

  • YEAR(differentiation_date)로 연도를 추출하여 그룹을 만든다.
  • MAX(size_of_colony) OVER (PARTITION BY YEAR(differentiation_date))를 사용하여 해당 연도의 최대 크기를 구한다.
  • year_dev는 해당 연도의 최대 크기에서 현재 크기를 뺀 값이다.
  • ORDER BY year, year_dev로 연도별 정렬 후, year_dev 기준으로 정렬한다.
Share article

LHS's Study Space