假如有item表,有四列,id, c1, c2, c3,数据如下:
id c1 c2 c3
---------------
1 c11 c21 c31
2 c11 c21 c31
3 c11 c21 c31
4 c21 c21 c31
5 c21 c21 c31
6 c21 c22 c31
7 c11 c21 c32
例如id为1,2,3的三条记录可认为是重复记录,id为4,5的两条记录可认为是重复记录,剩下两条是两条不同的记录,那么我们要去除的就是相同的记录,前三条之保留一条,4,5保留一条,剩下两条不动。
SELECT * FROM `item` GROUP BY c1, c2, c3;
运行结果:
id c1 c2 c3
---------------
1 c11 c21 c31
7 c11 c21 c32
4 c21 c21 c31
6 c21 c22 c31
很简单,用GROUP BY三个列即可,而且从输出结果可以看出,输出的是id最小的记录。