어렵게 푼건지 lv2 치고는 쿼리의 양도 많고 조금 복잡했다
with st as (
select year(DIFFERENTIATION_DATE) as year, max(size_of_colony) as year_dev
from ecoli_data
group by 1
)
select s.year, max(s.year_dev)-max(c.size_of_colony) as YEAR_DEV, c.id
from ecoli_data c
join st s on s.year = year(c.DIFFERENTIATION_DATE)
group by 1, 3
order by 1 asc, 2 asc
즐겨 사용하던 date_format이 아닌 year를 사용해야 했다.
이 부분을 제외하면 문제 자체가 괴랄한 느낌은 아니었다.
다만 같은 테이블 join해서 쓰는건 아직까지도 매우 어색하다.