
| 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(DIFFERENTIATION_DATE)提取年份,使用MAX(SIZE_OF_COLONY)求最大大小。GROUP BY YEAR(DIFFERENTIATION_DATE)按年份分组。YEAR(DIFFERENTIATION_DATE)提取年份,使用SIZE_OF_COLONY读取个体大小。YEAR(t1.DIFFERENTIATION_DATE) = t2.YEAR匹配对应年份。MAX_COLONY - SIZE_OF_COLONY计算大小偏差。ORDER BY YEAR, YEAR_DEV排序。SELECT YEAR(t1.DIFFERENTIATION_DATE) as YEAR, (t2.MAX_COLONY - t1.SIZE_OF_COLONY ) as YEAR_DEV, t1.ID
FROM ECOLI_DATA as t1
JOIN (
SELECT YEAR(DIFFERENTIATION_DATE) as YEAR, MAX(SIZE_OF_COLONY) as MAX_COLONY
FROM ECOLI_DATA
GROUP BY YEAR(DIFFERENTIATION_DATE)
) t2 ON YEAR(t1.DIFFERENTIATION_DATE) = t2.YEAR
ORDER BY YEAR, YEAR_DEV