我有这个 mysql 查询,可以找到每个主题的重复项和出现次数:
SELECT name,
COUNT(name) AS NumOccurrences
FROM topics
GROUP BY name
HAVING ( COUNT(name) > 1 )
但我想做的是删除所有找到的重复项。我只想要每个主题的唯一名称,并且没有重复!谢谢
我有这个 mysql 查询,可以找到每个主题的重复项和出现次数:
SELECT name,
COUNT(name) AS NumOccurrences
FROM topics
GROUP BY name
HAVING ( COUNT(name) > 1 )
但我想做的是删除所有找到的重复项。我只想要每个主题的唯一名称,并且没有重复!谢谢
DELETE t2
FROM topics t1
JOIN topics t2
ON t2.name = t1.name
AND t2.id < t1.id
我会将所有唯一条目复制到一个新表中:
CREATE TABLE new_table as
SELECT * FROM old_table WHERE 1 GROUP BY unique_column_name;
检查数据,然后在确定一切正常后删除旧表,并将新表重命名为旧表。
然后使名称列唯一,这样您就不必再这样做了。
干杯