我有一张桌子
id:name:passportnumber:score
1:xxx:123456:99
2:yyy:789012:88
3:xxx:123456:11
4:xxx:123456:44
5:xxx:123456:66
6:xxx:123456:77
我想删除重复的旧行并只保留具有相同护照号码的最新行
id:name:passportnumber:score
2:yyy:789012:88
6:xxx:123456:77
没有临时表的最佳方法是什么
谢谢
您应该能够对您的表进行自联接并执行删除:
delete t1
from yt t1
inner join yt t2
on t1.passportnumber = t2.passportnumber
where t1.id < t2.id;
一个LEFT JOIN你DELETE能做到的;
DELETE Table1 FROM Table1
LEFT JOIN Table1 b
ON Table1.id<b.id
AND Table1.passportnumber=b.passportnumber
WHERE b.id IS NOT NULL;