Typowa metoda wykorzystuje skorelowane podzapytanie:
select t.*
from t
where t.date = (select max(t2.date) from t t2 where t2.env = t.env);
Być może nieco lepszą metodą jest:
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
);
Jest to nieco lepsze, ponieważ (1) id
jest prawdopodobnie kluczem podstawowym, więc dopasowanie jest szybsze; oraz (2) jeśli w tym samym dniu jest wiele wierszy, zwracany jest tylko jeden wiersz.