MySQL删除语句
sql删除表中重复记录的方法
获得出现次数大于1的那些记录
SELECT id,
name,
sex,
COUNT(*) AS CNT
FROM tab
GROUP BY id,name,sex
HAVING COUNT(*) > 1;
使用SQL MIN函数来计算重复数据的最小ID。
SELECT *
FROM tab
WHERE id NOT IN
(
SELECT MIN(id)
FROM tab
GROUP BY id,name,sex
);
删除最小ID以外的数据
DELETE FROM tab
WHERE id NOT IN
(
SELECT a.id from --这里要使用临时表
(
SELECT MIN(id) id
FROM tab
GROUP BY id,name,sex
) a
)
删除指定id区域内的数据
DELETE FROM tab
WHERE id IN
(
SELECT id
FROM tab
LIMIT 开始的位置,结束的位置+1 -----指定区域
ORDER BY id
)