我的数据库中有一个表(最终),我想删除除
之外的所有重复行
那些有 NULL 值的人;
我尝试了上面的方法:
DELETE FROM Final
WHERE event_id NOT IN (SELECT MIN(event_id) AS MinID
FROM (SELECT * FROM Final) as x
GROUP BY event_name
AND event_name IS NOT NULL)
但没有成功。
编辑
我的 table 看起来像:
id |珊瑚
1 |空
2 | 1
3 | 1 <- 删除
4 | 2
5 | NULL <- 保持原样
6 | 1 <-删除
最佳答案
加入表格怎么样?
DELETE a
FROM Final a
LEFT JOIN
(
SELECT Event_name, MIN(Event_ID) MIN_ID
FROM Final
WHERE Event_name IS NOT NULL
GROUP BY Event_name
) b ON a.Event_name = b.Event_name AND
a.Event_ID = b.MIN_ID
WHERE a.Event_name IS NOT NULL AND
b.Event_name IS NULL
关于php - MySQL 删除除 NULL 之外的重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15661141/