SQLSEVER20212怎么删除相同的记录,方法简便的有木有?
假设你相同的行记录有一个属性为name,这行相同的都叫张三;
delete * from t_user where name="张三";
如果想保留一行的话,就用distinct,关于distinct的用法你可以百度一下;
如果回答对您有帮助,请采纳。
如果有id可区分
DELETE FROM table1
WHERE NOT EXISTS(SELECT *
FROM table1 t
WHERE t.id < table1.id
AND t.col1 = table1.col1
AND t.col2 = table1.col2 -- 列出所有用来判断相等的字段
)
如果全字段相同
SELECT DISTINCT *
INTO #temp
FROM table1
TRUNCATE TABLE table1
INSERT INTO table1
SELECT *
FROM #table
DROP TABLE #temp
1、相同记录的判断方式形成key值
2、使用变量做相同记录的分组标记序号
3、取每组的第一条做保留标记
4、删除其他记录
先把查寻出相同记录中唯一一组,将其插入临时表,再将表中的相同记录都删除,再将临时表中的数据插入到表中