首页 > 解决方案 > 如何删除 sas 表中每个组的第一次出现?

问题描述

我的数据如下:

ID,date
1,27-08-2020
1,28-08-2020
1,30-08-2020
2,05-08-2020
3,06-08-2020
3,10-08-2020

我必须删除每个 ID 组的第一次出现。这样数据就变成了

ID,date
1,28-08-2020
1,30-08-2020
2,05-08-2020
3,10-08-2020

如何在 sas/sql 中做到这一点。

标签: sqlsas

解决方案


您可以使用相关子查询:

select t.*
from t
where t.date > (select min(t2.date) from t t2 where t2.id = t.id);

您还可以将此想法合并到delete

delete from t
where t.date = (select min(t2.date) from t t2 where t2.id = t.id);

推荐阅读