Eine typische Methode verwendet eine korrelierte Unterabfrage:
select t.*
from t
where t.date = (select max(t2.date) from t t2 where t2.env = t.env);
Vielleicht ist eine etwas bessere Methode:
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
);
Dies ist etwas besser, weil (1) id
ist wahrscheinlich ein Primärschlüssel, daher ist die Übereinstimmung schneller; und (2) wenn mehrere Zeilen am selben Datum vorhanden sind, wird nur eine Zeile zurückgegeben.