求一条sql删除重复数据的语句

如题所述

第1个回答  2020-03-09
首先,我会先告诉你,你这张表的结构设计是错误的。既然不想让数据重复,为何不弄成标识列?或者弄个唯一索引。
现在可以告诉你,没有这种查询语句。首先,我不知道你shopName里到底有哪些数据,不好做出判断。其次,即使我知道shopName里有哪些数据,也无法只写一句语句就能删除全部重复数据了。如果要一条一条的删除,还不如直接打开表,在里面手动删除。如果该表存放的数据很大,你可以把表发给我,我帮你处理,因为我也没干过这种事情,还需要摸索一下
第2个回答  2020-01-11
假设该表ID作为PK,只保留一条shopname不重复数据
DELETE
FROM
shop
WHERE
ID
NOT
IN(SELECT
MIN(ID)
FROM
Shop
GROUP
BY
ShopName)
效率不是很高,但是通用性比较强
相似回答
大家正在搜