--删除一张表中,重复数据(几个字段一样的为重复数据记录),
--例如:
SELECT e.ename,e.job,COUNT(e.empno) 或者country(1)
FROM emp e
GROUP BY e.ename,e.job
能查询重复数据和重复数目。
--------------------------------------------------------
SELECT e.ename,e.job,MAX(e.empno)
FROM emp e
GROUP BY e.ename,e.job
能保留不重复数据,以及重复数据中主键最大 的值的数据。
--------------------------------------------------------
DELETE FROM EMP E
WHERE e.empno NOT IN (
SELECT MAX(M.EMPNO)
FROM EMP M
WHERE e.ename = m.ename
AND e.job = m.job
GROUP BY M.ENAME, M.JOB
);
对重复数据的记录分组,只留取重复记录中主键最大的一条记录。(或者min主键的方式)。