重复记录-删除

作者:leen 来源:ITPOW(原创) 日期:2006-12-19

仍然依照前一节的例子与思路,删除重复记录的语句如下:

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

相关文章