仍然依照前一节的例子与思路,删除重复记录的语句如下:
delete from foo where id in (select L.id from foo L inner join foo R on L.id>R.id and L.sName=R.sName and L.sClass=R.sClass)
与查找重复记录的语句相比, L.id<>R.id 变成了 L.id>R.id,这是由于我们需要保留重复记录中的第一条记录。
同样 L.sName=R.sName and L.sClass=R.sClass 表示定义为重复的条件。
运行上述代码后,剩余记录如下:
id sName sClass
1 张三 1
2 李四 1
3 李四 2
4 王五 2