我花了一些时间寻找这种情况,发现很多情况很接近,但我无法让它适应我的情况。
为了简化,我有 TABLE tcontact_id
和Code
contact_id Code
__________ ____
123456 100
123456 200
123456 300
987654 100
987654 200
654321 300
对于每个contact_id
我想选择代码最高的行并删除其他行。我确实提出了一个选择语句来显示我希望表格看起来像什么:
select distinct contact_id, MAX(code) OVER(Partition by contact_id) AS code
from t
基于以上,我的结果集是:
123456 300
987654 200
654321 300
如何删除除此 select 语句生成的行之外的所有行。我尝试使用NOT IN
子句,但这当然不支持多列。