一般的な方法では、相関サブクエリを使用します:
select t.*
from t
where t.date = (select max(t2.date) from t t2 where t2.env = t.env);
おそらく少し良い方法は次のとおりです:
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
);
(1)id
なので、これは少し良いです おそらく主キーであるため、一致はより高速です。 (2)同じ日付に複数の行がある場合、1つの行のみが返されます。