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

[https://school.programmers.co.kr/learn/courses/30/lessons/299310#qna](https://school.programmers.co.kr/learn/courses/30/lessons/299310#qna)

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

---

### ◇ 내 답변

```
WITH MAXCOLONY AS (SELECT
                        MAX(SIZE_OF_COLONY) AS MAXCOLONY,
                        YEAR(DIFFERENTIATION_DATE) AS YEAR
                    FROM ECOLI_DATA 
                    GROUP BY YEAR(DIFFERENTIATION_DATE))
SELECT
    YEAR(D.DIFFERENTIATION_DATE) AS YEAR,
    (M.MAXCOLONY - D.SIZE_OF_COLONY) AS YEAR_DEV,
    D.ID
FROM ECOLI_DATA AS D JOIN MAXCOLONY AS M
ON YEAR(D.DIFFERENTIATION_DATE) = M.YEAR
ORDER BY YEAR ASC,
    YEAR_DEV ASC;
```

서브쿼리 싫다니까 연속으로 이딴 문제만 가지고 오네

For the site tree, see the [root Markdown](https://slashpage.com/%EB%AC%B4%EB%91%A5-rypb2.md).
