我有一个表项包含像
name
------
alpha
alpha
beta
charlie
charlie
在这种情况下,我将如何删除重复的行,但应保留一个记录.上表没有任何主键.
最佳答案
试试这个
DELETE FROM item WHERE GREATEST(0,@num := IF(NAME = @NAME,@num + 1,0),LEAST(0,LENGTH(@NAME := NAME)))>0
我有一个表项包含像
name
------
alpha
alpha
beta
charlie
charlie
在这种情况下,我将如何删除重复的行,但应保留一个记录.上表没有任何主键.
最佳答案
试试这个
DELETE FROM item WHERE GREATEST(0,@num := IF(NAME = @NAME,@num + 1,0),LEAST(0,LENGTH(@NAME := NAME)))>0