Um método típico usa uma subconsulta correlacionada:
select t.*
from t
where t.date = (select max(t2.date) from t t2 where t2.env = t.env);
Talvez um método um pouco melhor seja:
select t.*
from t
where t.id = (select t2.id
from t t2
where t2.env = t.env
order by t2.date desc, t2.id desc
limit 1
);
Isso é um pouco melhor porque (1)
id
é provavelmente uma chave primária, então a correspondência é mais rápida; e (2) se houver várias linhas na mesma data, apenas uma linha será retornada.