SELECT f.cod_fazenda AS "Fazenda",
       t.id_talhao AS "Talhao",
       r.data_inicio AS "IniRot",
       m.cod_parcela AS "Parcela",
       m.data_medicao AS "Data da Medicao",
       CEIL(EXTRACT(epoch from age(m.data_medicao, r.data_inicio)) / 86400) AS "Idade (dias)",
       COUNT(a.dap) AS "Fustes",
       ROUND(MIN(a.dap), 2)    AS "DAPmin",
       ROUND(AVG(a.dap), 2)    AS "DAPmed",
       ROUND(STDDEV(a.dap), 2) AS "DAPdp",
       ROUND(MAX(a.dap), 2)    AS "DAPmax",
       ROUND(MIN(a.alt), 2)    AS "Hmin",
       ROUND(AVG(a.alt), 2)    AS "Hmed",
       ROUND(STDDEV(a.alt), 2) AS "Hdp",
       ROUND(MAX(a.alt), 2)    AS "Hmax"
FROM arvore a
    INNER JOIN medicao  m ON m.cod_parcela = a.cod_parcela AND
                             m.num_medicao = a.Num_medicao
    INNER JOIN parcela  p ON p.cod_parcela = m.cod_parcela
    INNER JOIN invecada i ON i.cod_parcela = m.cod_parcela
    INNER JOIN rotacao  r ON r.id_talhao = i.id_talhao AND
                        r.ciclo = i.ciclo AND
                        r.rotacao = i.rotacao
    INNER JOIN ciclo    c ON c.id_talhao = r.id_talhao AND
                        c.ciclo = r.ciclo
    INNER JOIN talhao   t ON t.id_talhao = c.id_talhao
    INNER JOIN fazenda  f ON f.id_fazenda = t.id_fazenda
WHERE 
    c.ciclo = (SELECT MAX(cc.ciclo)
               FROM rotacao cc
               WHERE cc.ciclo = r.ciclo) AND
	r.data_inicio = (SELECT MAX(m.data_inicio)
               FROM rotacao m
               WHERE m.id_talhao = t.id_talhao)
GROUP BY f.cod_fazenda, t.id_talhao, r.data_inicio, m.cod_parcela, m.data_medicao
ORDER BY 1, 2, 4, 5