删除重复记录,只保留一条
把一个数据库中重复的记录只保留一条而把其他的(有重复的)删除掉,如果没有重复的就不删除,条件是把照某一字段是否重复
一个例子:
表名:tb
字段:
id i_ip i_date i_comeid
1 x.x.x.x 2002.11.2 78
2 xx.x.x.x 2002.11.3 79
3 x.xx.xx.x 2002.11.1 80
4 xx.xx.x.x 2002.11.9 79
5 x.xx.xx.x 2002.11.13 80
6 x.xx.x.x 2002.11.20 79
7 x.xx.x.xx 2002.11.5 83
...
其中,id是自动不重复的,i_date是日期,都不重复,i_comeid是数字,有重复
条件:把i_comeid中相同的部分只保留一个而其他的删除,结果如下:
id i_ip i_date i_comeid
1 ... 2002.11.2 78
2 ... 2002.11.3 79
3 ... 2002.11.1 80
7 ... 2002.11.5 83
...
(说明:i_comeid是78和83的两条记录本来就是单条的,所以不被删除,79和80的有重复的,所以保留了一条,而把其他的删除了。至于重复中删除哪几条都可以,只要保留一条就可以)
这样的sql用一句怎么写?