我想删除所有具有特定 ID 和类别的记录,除了 MS Access 中具有最大日期的记录。
编辑: 这是我的数据的样子
id | 类别 | 日期 |
---|---|---|
1 | 1 | 2021 年 6 月 24 日 |
1 | 1 | 2021 年 6 月 20 日 |
1 | 2 | 2021 年 6 月 25 日 |
1 | 2 | 2021 年 6 月 26 日 |
2 | 1 | 2021 年 6 月 24 日 |
2 | 1 | 2021 年 6 月 26 日 |
这就是我希望我的数据的样子
id | 类别 | 日期 |
---|---|---|
1 | 1 | 2021 年 6 月 24 日 |
1 | 2 | 2021 年 6 月 26 日 |
2 | 1 | 2021 年 6 月 26 日 |
我有这个 SELECT
语句来显示我想保留的所有记录:
Select
t1.*
From
table t1
inner join
(select max(date) as maxdate, id
from table
group by id) t2 on t1.id = t2.id
and t1.date = t2.maxdate
我无法找出适用于 Access 的 Delete
语句。
答案 0 :(得分:1)
您可以使用:
delete from t
where t.date < (select max(t2.date)
from t as t2
where t2.id = t.id and t2.category = t.category
);