考虑我有这样的表结构,
rates
另一张表
id Email
-----------
1 abc@gmail.com
2 abc1@gmail.com
3 abc@gmail.com
4 abc@gmail.com
5 abc@gmail.com
现在,如果我想删除表1中的重复项,则应从id userId name
---------------------
1 1 A
2 2 B
3 3 C
4 4 D
5 5 E
及2, 3, 4, 5
中的相应数据中删除table1
。
我该怎么办?
这可能吗?
答案 0 :(得分:1)
首先尝试通过使用以下代码保留一行来删除用户表中的重复行:
DELETE FROM `user` WHERE `id` NOT IN (select * from ( SELECT MIN(`id`) FROM `user` GROUP BY `email` ) as t)
其次尝试通过以下方式从另一个表中删除其他相关行:
DELETE FROM `user_data` WHERE `u_id` NOT IN (select * from ( SELECT MIN(`id`) FROM `user` GROUP BY `email` ) as t)
希望这对你有用。
答案 1 :(得分:0)
以DML方式,使用您的表尝试以下查询(根据您的表编辑它)。注意:可以回滚删除。
DELETE t1
FROM t1, holdkey
WHERE t1.col1 = holdkey.col1
AND t1.col2 = holdkey.col2