首先排除使用 order by 再 limit 1 的写法,因为这种写法要查全部,与其这样查不如在代码里操作。
如下 term 表,有如下数据
id code modified
1 1 2022-08-27
2 1 2022-08-28
3 2 2022-08-29
现在需要查询 所有数据,但是重复 code 的数据只要一条最新的。sql 如下
select *
from term t
where not exists (
select 1
from term
where code = t.code
and modified > t.modified
)