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;